Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
[0000:0000h〜0000:03FFh : 割込ベクタ]
+00 +04 +08 +0C +10 +14 +18 +1C
0000 INT 00 | INT 01 | INT 02 | INT 03 | INT 04 | INT 05 | INT 06 | INT 07 |
0020 INT 08 | INT 09 | INT 0A | INT 0B | INT 0C | INT 0D | INT 0E | INT 0F |
0040 INT 10 | INT 11 | INT 12 | INT 13 | INT 14 | INT 15 | INT 16 | INT 17 |
0060 INT 18 | INT 19 | INT 1A | INT 1B | INT 1C | INT 1D | INT 1E | INT 1F |
0080 INT 20 | INT 21 | INT 22 | INT 23 | INT 24 | INT 25 | INT 26 | INT 27 |
00A0 INT 28 | INT 29 | INT 2A | INT 2B | INT 2C | INT 2D | INT 2E | INT 2F |
00C0 INT 30 | INT 31 | INT 32 | INT 33 | INT 34 | INT 35 | INT 36 | INT 37 |
00E0 INT 38 | INT 39 | INT 3A | INT 3B | INT 3C | INT 3D | INT 3E | INT 3F |
0100 INT 40 | INT 41 | INT 42 | INT 43 | INT 44 | INT 45 | INT 46 | INT 47 |
0120 INT 48 | INT 49 | INT 4A | INT 4B | INT 4C | INT 4D | INT 4E | INT 4F |
0140 INT 50 | INT 51 | INT 52 | INT 53 | INT 54 | INT 55 | INT 56 | INT 57 |
0160 INT 58 | INT 59 | INT 5A | INT 5B | INT 5C | INT 5D | INT 5E | INT 5F |
0180 INT 60 | INT 61 | INT 62 | INT 63 | INT 64 | INT 65 | INT 66 | INT 67 |
01A0 INT 68 | INT 69 | INT 6A | INT 6B | INT 6C | INT 6D | INT 6E | INT 6F |
01C0 INT 70 | INT 71 | INT 72 | INT 73 | INT 74 | INT 75 | INT 76 | INT 77 |
01E0 INT 78 | INT 79 | INT 7A | INT 7B | INT 7C | INT 7D | INT 7E | INT 7F |
0200 INT 80 | INT 81 | INT 82 | INT 83 | INT 84 | INT 85 | INT 86 | INT 87 |
0220 INT 88 | INT 89 | INT 8A | INT 8B | INT 8C | INT 8D | INT 8E | INT 8F |
0240 INT 90 | INT 91 | INT 92 | INT 93 | INT 94 | INT 95 | INT 96 | INT 97 |
0260 INT 98 | INT 99 | INT 9A | INT 9B | INT 9C | INT 9D | INT 9E | INT 9F |
0280 INT A0 | INT A1 | INT A2 | INT A3 | INT A4 | INT A5 | INT A6 | INT A7 |
02A0 INT A8 | INT A9 | INT AA | INT AB | INT AC | INT AD | INT AE | INT AF |
02C0 INT B0 | INT B1 | INT B2 | INT B3 | INT B4 | INT B5 | INT B6 | INT B7 |
02E0 INT B8 | INT B9 | INT BA | INT BB | INT BC | INT BD | INT BE | INT BF |
0300 INT C0 | INT C1 | INT C2 | INT C3 | INT C4 | INT C5 | INT C6 | INT C7 |
0320 INT C8 | INT C9 | INT CA | INT CB | INT CC | INT CD | INT CE | INT CF |
0340 INT D0 | INT D1 | INT D2 | INT D3 | INT D4 | INT D5 | INT D6 | INT D7 |
0360 INT D8 | INT D9 | INT DA | INT DB | INT DC | INT DD | INT DE | INT DF |
0380 INT E0 | INT E1 | INT E2 | INT E3 | INT E4 | INT E5 | INT E6 | INT E7 |
03A0 INT E8 | INT E9 | INT EA | INT EB | INT EC | INT ED | INT EE | INT EF |
03C0 INT F0 | INT F1 | INT F2 | INT F3 | INT F4 | INT F5 | INT F6 | INT F7 |
03E0 INT F8 | INT F9 | INT FA | INT FB | INT FC | INT FD | INT FE | INT FF |
[0000:0400h〜0000:05FFh : システム共通域]
-------------------------------------------------------------------------------
メモリ 0000:0400h
型 8bit FLAGS
名前 BIOS_FLAG2
・bit 7
分類 機種判別
対象 全機種(PC-98HA,DB-P1を除く)
内容 RAMドライブ機能の有無
1= RAMドライブ機能あり
0= RAMドライブ機能なし
解説 u 一部のテクニカルデータブックでは98NOTE判別と記述されているが、実際には
RAMドライブ機能の有無を示す。
o PC-9801NL/Rは、RAMドライブ機能を持たないので0。デスクトップ型でも
RAMドライブ機能を搭載しているPC-9801URは1。
u PC-98HA,DB-P1はRAMドライブ機能を搭載しているが、このビットは0。
o 「RAMドライブ 使用しない」の設定でも、このビットは1のまま変化しない。
RAMドライブが設定されているかどうかは、0000:0488hに示されている。
関連 0000:0488h
・bit 6
分類
対象
内容 未使用(?)
解説
関連
・bit 5
分類 RESUME
Undocumented
対象 98NOTE(PC-9801N・NSを除く), PC-98HA
内容 レジューム機能のON/OFF状態
1= レジュームする(ON)
0= レジュームしない(OFF)
解説 o レジューム機能のON/OFF状態を示す。このビットを書き換えても
98NOTE/HANDY98メニューのレジューム機能の設定状態は変化しない。
u 98NOTE/HANDY98メニューでレジュームのON/OFFを切り換えたときと
電源をONにしたとき、メニューの設定がこのビットにコピーされる。
電源スイッチが押されたとき、または[CTRL]+[GRPH]+[HELP]が
押されたときは、メニューの設定ではなく、このビットの状態に
従ってレジューム動作を行うかどうかが決まる。
関連 INT 1Fh - Funciton 98h
・bit 4
分類 RESUME
対象 PC-9801NV・NS/E・NC・NL・NS/L・NA・NA/C, PC-98HA
内容 INT 1Fh - Function 8B,8Chによるレジューム/サスペンド通知
1= 通知する
0= 通知しない
解説 o このビットを1にすると、レジュームONの状態で電源をON/OFFしたとき
それを通知するための割り込みが発生する。
o 電源OFF時、サスペンド処理割り込みINT 1Fh - Function 8C00h
(PC-98HAはFunction 8Ch)が発生する。
電源ON時、レジューム処理割り込みINT 1Fh - Function 8B00h
(PC-98HAはFunction 8Bh)が発生する。
サスペンド処理・レジューム処理が必要なソフトウェアは、INT 1Fhの
上記ファンクションをフックし、このビットを1にすることで、必要な
処理を行うことができる。
関連 INT 1Fh - Function 8B00h
INT 1Fh - Function 8B80h
INT 1Fh - Function 8Bh
INT 1Fh - Function 8C00h
INT 1Fh - Function 8C80h
INT 1Fh - Function 8Ch
・bit 3
分類 CPU判別
対象 全機種
内容 V33A識別
1= V33A
0= その他
解説 o V33Aを搭載している機種はPC-98DO+のみ。他の機種では常に0。
関連 0000:0480h bit 1,0
0000:0484h bit 3〜0
0000:0501h bit 6
・bit 2
分類 CPU速度
Undocumented
対象 PC-9801RA21以降の機種
内容 Middleモード表示
------------+---------+-------------
機種名 |bit 2=1 |bit 2=0
------------+---------+-------------
PC-9801RA21 |386 16MHz|386 20MHz,V30
PC-9801DA2 |Middle |High/Low
PC-9821Ce |Middle |High/Low
PC-9801NA |Middle |High/Low
PC-9821Ne |Middle |High/Low
PC-9801NX/C |Middle |High/Low
PC-9801NS/A |Middle |High/Low
------------+---------+-------------
解説 o 詳細不明。表に挙げた機種のMiddleモードでのみ1になる。他の機種では
常に0。
関連
・bit 1
分類
Undocumented
対象 PC-9801RA2以降の機種
内容 不明
常に1の機種
PC-9801CV・N・NC・NS/E・NS/T・NS/L・NS/R・NX/C・P・NL/R,
PC-9821Ne, PC-98HA, DB-P1
常に0の機種
PC-9801UV11・UR・UF・T・RX2・RX21・DX・FS・FX・BA・BX・LS・NV・NL,
PC-H98 model60・70・90・100・105, PC-H98S,
PC-98GS, PC-98LT
CPU速度によって変化する機種(Lowモードのとき0、それ以外で1)
PC-9801ES・RA21・RS・DA・DS・FA・US・BA2・BS2・BX2・NA・NS/A,
PC-9821初代・Ap・As・Ae・Af・Ap2・As2・An・Bp・Bs・Be・Bf・Ce
CPU速度によって変化する機種(Middleモードのとき1、それ以外で0)
PC-H98 model80, PC-98RL
* ノーマル・ハイレゾモードとも
CPU速度によって変化する機種(Highモードのとき0、Lowモードのとき1)
PC-9801NS
解説 o 詳細不明。機種・モードにより表に挙げたような状態になる。
関連
・bit 0
分類 BRANCH BIOS
Undocumented
対象 PC-9864初代・U(PC-H98を除くハイレゾ)
内容 BRANCH 4670 I/Fの有無
1= あり
0= なし
解説 o ハイレゾモード(PC-H98を除く)でPC-9864・U(BRANCH 4670 I/Fボード)を
実装ているとき、BRANCH BIOSが使用可能なら1になる。
o ノーマルモードでは、BRANCH BIOS組み込み時でも0。
関連 0000:041E〜0443h
0000:0480h bit 5
0000:05E5h
メモリ 0000:0401h
型 BYTE
名前 EXPMMSZ
分類 MEMORY
Undocumented
対象 80286以上のCPU搭載機
内容 16Mバイト以内の使用可能プロテクトモードメモリ容量(単位:128KB)
解説 o 100000(1M)〜FFFFFFh(16M-1)に位置する利用可能なプロテクトモード
メモリの容量を示す。
u HIMEM.SYS,RAMDISK.SYS,EMM.SYSなどの資源管理用ワークも兼ねている。
プロテクトメモリを利用するときは、高位のアドレスから必要なだけの
メモリを確保する。そして、そのメモリ容量に相当する分だけこの値を
減らす。このようにすれば、複数のドライバからプロテクトモードメモリを
利用することができる。
これらのドライバを組み込んだあとは、物理的なメモリ容量を示さない
ことになる。
u このバイトの最大値は70h(14MB)である。リアルモード用メモリ空間
(000000〜0FFFFFh)と16MBシステム空間(F00000〜FFFFFFh)を除くためである。
ただし、16Mバイト超メモリ搭載可能機のシステムセットアップメニューで
「16MBシステム空間を使用しない」に設定したときのみ、最大値が
78h(15MB)になる。
o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の
アドレスに位置するメモリの容量は0000:0501h bit 2〜0に格納されている。
o PC-H98と16Mバイト超メモリ搭載可能機では、1000000h(16Mバイト)番地以降の
アドレスに位置するメモリの容量は0000:0594hに格納されている。
関連 0000:0501h bit 2〜0
0000:0594h
INT DC - Function 81h
INT DC - Function 82h
メモリ 0000:0402h
型 BYTE
名前 SYS_SEL
分類 DISK
Undocumented
対象 ハイレゾ
内容 セレクタ番号
bit 7: 起動時の[SHIFT]キー押下状態
1= ON
0= OFF
bit 6: 起動時の[CTRL]キー押下状態(bit 7,5とは1/0の意味が逆)
1= OFF
0= ON
bit 5: 起動時の[GRPH]キー押下状態
1= ON
0= OFF
bit 4〜0: セレクタ番号(00〜1Fh)
解説 o bit 4〜0は、ハードディスクのどのパーティションから起動するかを
指示するためのセレクタ番号である。
ハードディスク先頭のブートローダは、ハードディスクのどのパーティション
からOSを起動するかを決定するために、セレクタ番号を参照する。セレクタ
番号に0以外の値が格納されていた場合は、接続されているハードディスク
からそのセレクタ番号を持つパーティションを検索してOSをブート
する。セレクタ番号が0のときは、ハードディスク起動メニューを表示する。
u bit 7,6はブート処理時にBIOS内部でクリアされてしまうため、OS起動後は
常に0を示す。bit 5は、起動時に[GRPH]キーが押されていればOS起動後に
1を示す。
u ディスクブート処理の前に、メモリスイッチ5 bit 7〜4を0000:0402h
bit 7〜4に、メモリスイッチ6 bit 7〜4を0000:0402h bit 3〜0に値を
コピーする。
u リセット時に特定のキーが押下されていると、メモリスイッチのセレクタ番号
と起動時のシフト系キー押下状態が変更される。
表[セレクタ番号の設定方法]に示したキー、または[SHIFT],[CTRL],
[GRPH]が押されていると、メモリスイッチが書き換えられる。その他の
キーが単独で押されていても、メモリスイッチは書き換わらない。
表[セレクタ番号の設定方法]に示したキーを押しながらリセットすると、
同時にそのときのシフト系キー押下状態がメモリスイッチ5に反映される。
同様に、[SHIFT],[CTRL],[GRPH]を押しながらリセットしたとき、
表[セレクタ番号の設定方法]に示したキーが押されていないと、
メモリスイッチ6のセレクタ番号は00hに設定される。
表 セレクタ番号の設定方法
--------+-------------------- --------+--------------------
セレクタ番号|リセット時に押下するキー セレクタ番号|リセット時に押下するキー
--------+-------------------- --------+--------------------
00h |[ESC]または[@] 10h |[P]
01h |[f・1]または[A] 11h |[Q]
02h |[f・2]または[B] 12h |[R]
03h |[f・3]または[C] 13h |[S]
04h |[f・4]または[D] 14h |[T]
05h |[f・5]または[E] 15h |[U]
06h |[f・6]または[F] 16h |[V]
07h |[f・7]または[G] 17h |[W]
08h |[f・8]または[H] 18h |[X]
09h |[f・9]または[I] 19h |[Y]
0Ah |[f・10]または[J] 1Ah |[Z]
0Bh |[vf・1]または[K] 1Bh |[[]
0Ch |[vf・2]または[L] 1Ch |[¥]
0Dh |[vf・3]または[M] 1Dh |[]]
0Eh |[vf・4]または[N] 1Eh |[^]
0Fh |[vf・5]または[O] 1Fh |[_]
--------+-------------------- --------+--------------------
関連 メモリスイッチ5 bit 7〜4
メモリスイッチ6 bit 7〜4
ハードディスクのパーティションテーブル構造
メモリ 0000:0402h
型 BYTE
名前
分類 ITF
Undocumented
対象 PC-9801RA2以降のITFを持った機種(ノーマル)
内容 リセット時に押下されていた[SHIFT],[CTRL],[GRPH]キー状態
解説 o リセット時に[SHIFT],[CTRL],[GRPH]キーが押されていると、
該当するビットが1になる。ハイレゾと異なり、メモリスイッチに
記録されるわけではない。
bit 7:SHIFTキー押下状態
1= ON
0= OFF
bit 6:CTRL キー押下状態
1= ON
0= OFF
bit 5:GRPH キー押下状態
1= ON
0= OFF
bit 4〜0:常に0(未使用)
関連
メモリ 0000:0402h(LT・HA)
型 WORD
名前
分類 LCD
Undocumented
対象 PC-98LT・HA, DB-P1
内容 システム起動時のエラーメッセージ表示位置
解説 o エラーメッセージを出力する毎に、次にそれを表示する位置を
下に移動するために、このアドレスの値を加算していく。
関連
メモリ 0000:0403h
型 BYTE
名前 ITF_WORK
分類 ITF
Undocumented
対象 ITF ROM搭載機種
内容 ITF ROM実行中のワークエリア
解説
関連
メモリ 0000:0404〜0407h
型 DWORD
名前 USER_SP, USER_SS
分類 CPU
Undocumented
対象 80286以上のCPU搭載機, PC-9801VM21
内容 シャットダウン時のスタックポインタ保存位置
解説 o 80286はソフトウェアでプロテクトモードからリアルモードに戻る
ことができないため、CPUだけをリセットする外部ハードウェアを
利用してリアルモードに戻す必要がある。そのときのスタックポインタを
保存するためにこのアドレスを使用する。
o 80286以降のCPUを搭載した機種では、システムポートのSHUT 0ビットが
0のときシャットダウン(OUT 00F0h)を行うと、リアルモードに戻る
ことができる。CPUはリセット後ITF ROMを実行するとSHUT 0ビットを
調べ、0ならSP←0000:0404h,SS←0000:0406hとしてスタックポインタを
設定し、RETFする。
シャットダウンを行うプログラムは、シャットダウンを行う前に、必要な
レジスタと、リセット後に再スタートするFARアドレスをPUSHしておく。
関連 I/O 0035h(SHUTモード設定 システムポート)
I/O 00F0h(シャットダウンポート)
メモリ 0000:0408h
型 BYTE
名前
分類 LCD
Undocumented
対象 PC-98HA
内容 レジューム用状態保存(LCD)
解説 o OUT 0812h,00hのときにI/O 0810hに出力した値の保存用エリア。
関連 I/O 0810h
I/O 0812h
メモリ 0000:0409h
型 BYTE
名前
分類 LCD
Undocumented
対象 PC-98HA
内容 レジューム用状態保存(LCD)
解説 o OUT 0812h,01hのときにI/O 0810hに出力した値の保存用エリア。
関連 I/O 0810h
I/O 0812h
メモリ 0000:040Ah(LT・HA)
型 WORD
名前
分類 LCD
Undocumented
対象 PC-98LT・HA, DB-P1
内容 不明
解説
関連
メモリ 0000:040C〜040Fh(LT・HA)
型 4 BYTES
名前
分類
対象 PC-98LT・HA, DB-P1
内容
解説 未使用
関連
メモリ 0000:0410〜0417h(HA)
型 8 BYTES
名前 NO NAME
分類 RESUME
対象 PC-98HA
内容 レジューム用状態保存(EMS)
0410h I/O 08E9h(C000h SEL PKG )に出力した値
0411h I/O 08E1h(C000h SEL BANK)に出力した値
0412h I/O 08E9h(C400h SEL PKG )に出力した値
0413h I/O 08E3h(C400h SEL BANK)に出力した値
0414h I/O 08E9h(C800h SEL PKG )に出力した値
0415h I/O 08E5h(C800h SEL BANK)に出力した値
0416h I/O 08E9h(CC00h SEL PKG )に出力した値
0417h I/O 08E7h(CC00h SEL BANK)に出力した値
解説 o EMSカード制御用I/Oポートに出力した値の保存用エリア。
u このワークエリアはPC-98HAのみ使用する。98NOTEでは、RESUME用BIOSが
バンクRAMのRESUME用ワークエリアに保存するため、システム共通域は
使用しない。
関連 I/O 08E1h
I/O 08E3h
I/O 08E5h
I/O 08E7h
I/O 08E9h
メモリ 0000:0408〜040Fh
型 8 BYTES
名前 KB_SHIFT_CODE
分類 KEYBOARD BIOS
対象 ハイレゾ
内容 シフトキーコードテーブル
--------+----------------------+----------------------
アドレス|シフト状態のビット位置|初期状態のメモリ内容
--------+----------------------+----------------------
0408h |bit 7 |FFh
0409h |bit 6 |FFh
040Ah |bit 5 |FFh
040Bh |bit 4 |74h([CTRL])
040Ch |bit 3 |73h([GRPH])
040Dh |bit 2 |72h([カナ])
040Eh |bit 1 |71h([CAPS])
040Fh |bit 0 |70h([SHIFT])
--------+----------------------+----------------------
解説 o シフト系キーを定義するテーブル。
ハイレゾモードでは、シフト系キーを任意のキーに再定義できる。テーブル
には、シフトキーとして定義するキーのキー番号を格納する。
o 最大8個のシフト系キーを定義できるが、一般的には[CTRL],[GRPH],
[カナ],[CAPS],[SHIFT]キーのキー番号を再定義するような場合に
使用できる。例えば、040Fhにキー番号をセットすると、キーボード
BIOSはそのキーを[SHIFT]キーとして認識するようになる。
テーブルの内容を変更すると、0000:053Ah(シフトキー押下状態フラグ)、
INT 18h - Function 02hなどのシフト状態やINT 18h - Function 00hなどの
キーデータの値に反映する。
o 0000:052A〜0539hのキーの押下状態テーブルは、このテーブルの設定内容の
影響を受けない。
o シフト系キーに定義されたキーでは、INT 18h - Function 00hなどの
ファンクションで1文字入力できなくなる。
関連 0000:053Ah(シフトキー押下状態フラグ)
INT 18h - Function 02h
メモリ 0000:0410〜0413h
型 DWORD
名前 KB_BUFFER_ADR
分類 KEYBOARD BIOS
対象 ハイレゾ
内容 キーボードバッファアドレス
初期値 = 0000:0502h
解説 o キーボードBIOSが使用するキーバッファの先頭アドレス。
初期状態よりも大きなキーバッファを確保したいときには、
キーバッファ用にメモリ領域を用意して、このアドレスと
0000:0522h(キーバッファサイズ)を変更し、INT 18h - Function 06hを
実行する。
関連 0000:0522h
INT 18h - Function 06h
メモリ 0000:0414〜0417h
型 DWORD
名前 KB_ENTRY_TBL_ADR
分類 KEYBOARD BIOS
対象 ハイレゾ
内容 キーデータ変換テーブルの先頭アドレス
初期状態 = ROM BIOS内のテーブル
解説 o キー番号とシフト状態からキーデータを生成するときに使用する
変換テーブルの先頭アドレス。
o キーデータ変換テーブルをユーザ定義のものと入れ換えれば、
任意のキーアサインに変更することができる。
関連 INT 18h - Function 09h
0000:05C6h
メモリ 0000:0418〜041Bh
型 DWORD
名前 KB_INT_ADR
分類 KEYBOARD BIOS
対象 ハイレゾ
内容 キーボード割り込みテーブルアドレス
初期状態 = ROM BIOS内のテーブル
[設定テーブルの構造]
----------+-----------+-------------------------
オフセット|内容 |初期値
----------+-----------+-------------------------
+0 |個数 |02h
+1 |キー番号(1)|60h(INT 06h発生:STOPキー)
+2 |キー番号(2)|E1h(INT 05h発生:COPYキー)
----------+-----------+-------------------------
* 個数………次のアドレス以降でセットするキーコードの個数。
* キー番号…bit 7でINT 05hとINT 06hのどちらの割り込みを発生させる
キーかを指定する。bit 7=1:INT 05h,0:INT 06h
解説 o キー押下時にINT 05h, INT 06hを発生させるキーを定義したテーブルの
アドレス。
o ハイレゾモードでは、INT 05h, INT 06hを発生させるキーを任意のキーに
再定義できる。
o 割り込みを発生するように指定したキーからは、INT 18h - Function 00h
などで1文字入力することができなくなる。
関連 INT 05h
INT 06h
メモリ 0000:041C〜041Dh
型 WORD
名前 PR_TIME
分類 PRINTER BIOS
対象 ハイレゾ
内容 プリンタのタイムアウト値(単位:10ms)
初期値 = 0000h。
(0000hを設定するとタイムアウトしない)
解説 o プリンタBIOSで文字出力するとき、プリンタがBUSYだった場合に
BUSYを監視しながら待つ最大時間を指定する。
o INT 1Ah - Function 10hを実行すると、0190h(4秒)がセットされる。
INT 1Ah - Function 16hで任意の値に設定可能。
関連 INT 1Ah - Function 10h
INT 1Ah - Function 16h
メモリ 0000:041E〜0443h
型 38 BYTES
名前
分類 BRANCH
Undocumented
対象 PC-9864初代・U + ハイレゾ
内容
-----+-------+-------------+------------------------------------------
アドレス|サイズ |名前 |内容
-----+-------+-------------+------------------------------------------
041Eh|5BYTES |VD_PRT |サーバに送信する際のプロトコル。INT 1Bhエ
| | |ミュレーション時のパラメータを格納する。
041Eh|BYTE |VD_CMD |リクエストコード
| | | 01h=送信(INT 1Bh - Function 05h)
| | | 02h=受信(INT 1Bh - Function 06h)
041Fh|BYTE |VD_SEC_UNIT |転送セクタ数
0420h|BYTE |VD_DRIVE |仮想ドライブ番号(INT 1Bh AL LSB 4bit)
| | | 00〜03h
0421h|BYTE |VD_TRACK |トラック番号(INT 1Bh DH)
0422h|BYTE |VD_SEC |セクタ番号(INT 1Bh DL)
0423h|BYTE |VD_NUL |ヌルデータ
0424h|WORD |VD_REMAIN_SEC|残りセクタ数
0426h|WORD |VD_REMAIN_LEN|残りデータバイト数(INT 1Bh BX)
0428h|WORD |VD_DATA_OFF |転送データのオフセットアドレス(INT 1Bh BP)
042Ah|BYTE |VDISK_EQUIP |仮想ディスクのマウント状態
042Bh|BYTE |BRANCH_INT |BRANCH4670 I/Fの外部割り込み番号
| | | 00h=INT0(INT 0Bh)
| | | 01h=INT41(INT 12h)
| | | 02h=INT5(INT 14h)
| | | 03h=INT6(INT 15h)
042Ch|DWORD |BRANCH_WORK |VD_BOOT_WORKへのポインタ(0000:0430h)
0430h|16BYTES|VD_BOOT_WORK |仮想ディスクから起動するときのワークエリア
0430h|WORD | |ソケット80hに関する情報
0432h|WORD | |ソケット90hに関する情報
0434h|WORD | |ソケットA0hに関する情報
0436h|WORD | |ソケットB0hに関する情報
0438h|WORD | |リザルトレコードアドレス
043Ah|BYTE | |外部割り込みハンドラが使用
| | | bit 7〜4:未使用
| | | bit 3:ソケットB0hの処理関係
| | | bit 2:ソケットA0hの処理関係
| | | bit 1:ソケット90hの処理関係
| | | bit 0:ソケット80hの処理関係
043Bh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用)
| | |初期値 = 04h
| | |本体内BRANCH BIOSでは未使用
043Ch|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用)
| | |初期値 = FFh
| | |本体内BRANCH BIOSでは未使用
043Dh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用)
| | |初期値 = FFh
| | |本体内BRANCH BIOSでは未使用
043Eh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用)
| | |本体内BRANCH BIOSでは未使用
043Fh|BYTE | |CPU種別(PC-9864U搭載BIOS ROMで使用)
| | | 01h:8086,V30
| | | 02h:80286
| | | 04h:386以上
| | |本体内BRANCH BIOSでは未使用
0440h|DWORD |VD_ADD |仮想ディスクBIOSのエントリアドレス。
| | |INT 1Bh実行時のDA/UA=6nhのとき、
| | |ここで指定されたアドレスに処理を移す。
-----+-------+-------------+------------------------------------------
解説 o BRANCH4670・IIによる仮想ディスクのワークエリア。詳細不明。
o PC-9864初代をハイレゾモードの本体に実装したときは、本体内の
BRANCH 4670 BIOSがハンドリングを行う。PC-9864初代上のROMは使用
しない(ノーマルモード専用のため)。
o PC-9864Uをハイレゾモードの本体に実装したときは、本体内のBRANCH 4670
BIOSとPC-9864U上のROMの両方がBRANCH 4670のハンドリングを行う。
関連 0000:0400h bit 0
0000:041E〜0443h
0000:0480h bit 5
0000:049A〜04ABh
0000:05E5〜05E7h
F800:7FE0h
メモリ 0000:041E〜0443h
型 38 BYTES
名前
分類 BRANCH
Undocumented
対象 PC-9864U + ノーマル
内容
-----+-------+-------------+------------------------------------------
アドレス|サイズ |名前 |内容
-----+-------+-------------+------------------------------------------
041Eh|13BYTES| |未使用
042Bh|BYTE |BRANCH_INT |BRANCH4670 I/Fの外部割り込み番号
| | | 00h=INT0(INT 0Bh)
| | | 01h=INT41(INT 12h)
| | | 02h=INT5(INT 14h)
| | | 03h=INT6(INT 15h)
042Ch|DWORD | |FAR CALLのためのアドレス。BRANCH BIOS内で
| | |各処理に先立って実行される。
| | |CF=0で戻ればBRANCH BIOSの処理をする。
| | |CF=1で戻ればBRANCH BIOSの処理をしない。
0430h|10BYTES| |未使用
043Ah|BYTE | |外部割り込みハンドラが使用
043Bh|BYTE | |PC-9864Uのセットする初期値 = 04h
| | | bit 7=不明
| | | bit 6=INT D3h - Function 0Dhの動作指定
| | | bit 5=INT D3h - Function 03hの動作指定
| | | bit 4=INT D3h - Function 01hの動作指定
| | | bit 3=INT D3h - Function 07hの動作指定
| | | bit 2=不明
| | | bit 1=1で042Ch≠0なら、call 0000:042Ch
| | | bit 0=不明
043Ch|BYTE | |不明
| | |初期値 = FFh
043Dh|WORD | |不明
| | |初期値 = FFFFh
043Fh|BYTE | |CPU種別
| | | 01h:8086,V30
| | | 02h:80286
| | | 04h:386以上
0440h|DWORD | |未使用
-----+-------+-------------+------------------------------------------
解説 o BRANCH4670IIによる仮想ディスクのワークエリア。詳細不明。
o PC-9864U上のBRANCH BIOS ROMが使用する。PC-9864初代は、このワーク
エリアを使用しない。
関連 0000:0480h bit 5
0000:049Ah〜04ABh
0000:05E5〜05E7h
メモリ 0000:0444〜0447h
型 DWORD
名前 CAL_ROOT_LIST
分類 TIMER BIOS
対象 ハイレゾ
内容 マルチイベントタイマのパラメータブロックの先頭アドレス
解説 o INT 1Ch - Function 04h,05hで設定するマルチイベントタイマの
先頭のパラメータブロックのアドレス。
関連 INT 1Ch - Function 04h
INT 1Ch - Function 05h
メモリ 0000:0448h〜0449h
型 WORD
名前 CAL_BEEP_TIME
分類 CRT BIOS, TIMER BIOS
対象 ハイレゾ
内容 BEEPの継続時間カウンタ(単位:10ms)
解説 o INT 18h - Function 24h, INT 1Ch - Function 06hで鳴動させた
BEEPの残り時間。
関連 INT 18h - Function 24h
INT 1Ch - Function 06h
メモリ 0000:044Ah〜044Bh
型 WORD
名前 CAL_TONE
分類 CRT BIOS, TIMER BIOS
対象 ハイレゾ
内容 BEEP音程(8253Aの分周値)
解説 o INT 18h - Function 23h, INT 1Ch - Function 06hで指定したBEEP周波数。
関連 INT 18h - Function 23h
INT 1Ch - Function 06h
メモリ 0000:044Ch〜044Fh
型 DWORD
名前 CAL_USER_OFF/SEG
分類 TIMER BIOS
対象 ハイレゾ, PC-98DO+
内容 シングルイベントタイマのタイムアウトアドレス
解説 o シングルイベントタイマがタイムアウトしたときに呼び出すユーザルーチンの
アドレス。
u PC-98DO+では、INT 07hにコプロセッサ命令をスキップするための
エミュレート処理が入っているため、このワークエリアを利用する。
関連 INT 1Ch - Function 02h
メモリ 0000:0450h
型 WORD
名前 CRT_FONT
分類 CRT BIOS
Undocumented
対象 ハイレゾ
内容 キャラクタジェネレータに出力する文字コード
0000:0450h = I/O 00A3hに出力する値
0000:0451h = I/O 00A1hに出力する値
解説 o INT 18h - Function 1Fh,20h(フォントパターン(24ドット)の読み出し/
登録)実行時、キャラクタジェネレータに出力する文字コード(I/O 00A1h,
00A3hに出力する値)を格納する。
関連 INT 18h - Function 1Fh
INT 18h - Function 20h
I/O 00A1h
I/O 00A3h
メモリ 0000:0452〜0454h
型 3BYTES
名前 RT_P1, RT_P2. RT_P3
分類 CRT BIOS
Undocumented
対象 ハイレゾ
内容
-----+--------+----------------------------------------------------
アドレス|ビット |内容
-----+--------+----------------------------------------------------
0452h| |RT_P1
|bit 7 |カーソル表示状態
| | 1=あり
| | 0=なし
|bit 6,5 |00b
|bit 4〜0|CRTの行当りラスタ本数-1
| | 0000:053Bhの内容と同じ
-----+--------+----------------------------------------------------
0453h| |RT_P2
|bit 7,6 |カーソルブリンクレートの下位2ビット
|bit 5 |カーソルブリンキング状態
| | 1=点滅なし
| | 0=点滅あり
|bit 4〜0|1キャラクタ内のカーソル表示開始ライン
| | キャラクタのボディフェイスの最上端を0ラインとする
| | ブロックカーソルの上端位置。
-----+--------+----------------------------------------------------
0454h| |RT_P3
|bit 7〜3|1キャラクタ内のカーソル表示終了ライン
| | キャラクタのボディフェイスの最上端を0ラインとする
| | ブロックカーソルの下端位置。
|bit 2〜0|カーソルブリンクレートの上位3ビット
| | 全5ビットのブリンクレートに00000bは指定できない。
-----+--------+----------------------------------------------------
解説 o テキストGDCに発行するCSRFORMコマンドのパラメータを保存するための
ワークエリア。INT 18h - Function 0Ah,10h,11h,12h,1Ch,1Ehで使用する。
u PC-H98のノーマルモードでは、起動時にこの領域に値がセットされているが、
BIOS等では使用していない。ノーマルモードでも、ハイレゾモード用と
同様に初期設定した結果と思われる。MENU BIOSで設定を行っている。
関連 INT 18h - Function 0Ah
INT 18h - Function 10h
INT 18h - Function 11h
INT 18h - Function 12h
INT 18h - Function 1Ch
INT 18h - Function 1Eh
メモリ 0000:0455h
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-9801DA・DS・DX以降の機種, PC-98HA
内容
■PC-9801DA・FA
bit 7: 1= システムセットアップメニュー表示後起動
0= 通常起動
* [HELP]キーを押しながらリセットすると、
システムセットアップメニューを表示する
■98NOTE
bit 5: 1= NOTEメニューのAUTOモードで起動
0= 通常起動
* [COPY]キーを押しながらリセットすると、
AUTOモードが起動する
■PC-9821Ap・As・Ae
bit 5: 1= リセット時に[ESC]キーが押されていた
0= リセット時に[ESC]キーが押されていない
bit 4: 1= リセット時に[COPY]キーが押されていた
0= リセット時に[COPY]キーが押されていない
■PC-98HA
bit 7 : 不明。RESUME、電源制御関係。
bit 6〜0: 未使用
関連 INT 1Fh - Function 99h
INT 1Fh - Function BAh
解説 詳細不明。リセット時に押されていたキーの状態などを保存している模様。
関連
メモリ 0000:0456h
型 BYTE
名前
分類 RESUME
対象 98NOTE(PC-9801N・NSを除く), PC-98HA, DB-P1
Undocumented
内容 RESUME用電源OFF禁止カウンタ
解説 o BIOS内で、電源OFF禁止期間中に00h以外の値になる。正常にRESUMEが行える
ようにするための機構。
o BIOSの処理中、電源OFF禁止期間の先頭でインクリメントされ、電源OFF可能な
状態になったときデクリメントされる。このため、電源OFF禁止が必要な
処理を入れ子にすることができる。
関連
メモリ 0000:0457h
型 BYTE
名前
分類 IDE
Undocumented
対象 IDE HDD搭載機
内容 IDEドライブ容量(1)
--------+---------------------------
ビット |内容
--------+---------------------------
bit 7 |1台目IDEのセクタ長
| 1= 512バイト
| 0= 256バイト,ドライブなし
bit 6 |2台目IDEのセクタ長
| 1= 512バイト
| 0= 256バイト,ドライブなし
bit 5〜3|1台目IDE HD 容量値
bit 2〜0|2台目IDE HD 容量値
--------+---------------------------
* IDE非対応機は00h、IDE対応機でIDE HD非搭載の場合は3Fh
------+------------
容量値|ドライブ容量
------+------------
000b|ドライブなし
001b|120MB
010b|シリンダ数可変
011b|0000:05B0hで容量を示す
100b| 20MB
101b| 80MB
110b| 40MB
111b|ドライブなし
------+------------
解説 o IDE HDの容量を示す。
u 機種により、ドライブ容量を示す値のサポート範囲が異なる。
関連 0000:05B0h
メモリ 0000:0458h
型 8bit FLAGS
名前 BIOS_FLAG5
・bit 7
分類 機種判別
対象 全機種
内容 NESA(H98)識別
1= NESAアーキテクチャ機
0= その他
解説 o NESAアーキテクチャ機(PC-H98,SV-H98,FC-H98)を示す。
関連
・bit 6
分類 機種判別
対象 全機種
内容 PC-98GS識別
1= マルチメディアアーキテクチャ
0= その他
解説 o マルチメディアアーキテクチャ機(PC-98GS)を示す。
関連
・bit 5,4
分類
対象
内容 未使用(?)
解説
関連
・bit 3
分類 CPU速度
対象 PC-H98
内容 486SXフラグ
1= 486SXモード
0= 386相当モード
解説 o PC-H98S, PC-H98 model80・90で、CPU速度を486SX(最高速)に設定
したとき1になる。386相当(中速・低速)に設定したときは0。
関連
・bit 2
名前 current printer interface modeビット
分類 PRINTER BIOS
対象 ノーマル
内容 プリンタインターフェースモード
1= フルセントロニクスモード
0= 簡易セントロニクスモード(初期状態)
解説 o 現在のプリンタインターフェースモードを示す。
o PC-H98とIEEE STD 1284搭載機は、ノーマルモードで簡易セントロニクスと
フルセントロニクスをサポートしている。このビットは現在のモードを示す。
u 98ハイレゾボード(PC-9821A-E02)のハイレゾモードでも1になる。その他の
機種のハイレゾモードでは0。
関連 0000:05B3h
INT 1Ah - Function 17h
INT 1Ah - Function 19h
INT 1Ah - Function 1Ah
INT 1Ah - Function 1Bh
・bit 1
名前 full-centro availableビット
分類 PRINTER BIOS
対象 ノーマル
内容 プリンタインターフェースのタイプ
1= フルセントロニクスモード利用可
0= フルセントロニクスモード利用不可
解説 o ノーマルモードでフルセントロニクスモードが利用できるかどうかを示す。
o このビットが1の機種は次の通り。
- PC-H98(ノーマルモード)
- IEEE STD 1284搭載機種
o PC-9821Ap2・As2・An・Ap3・As3に98ハイレゾボード(PC-9821A-E02)を実装した
場合、このビットは0になる。ノーマルモード・ハイレゾモードのいずれの
場合も、98ハイレゾボード側のプリンタインターフェースのみが有効にな
るためである。
o ハイレゾモードは常にフルセントロニクスモードのため、このビットは0。
関連 0000:05B3h
INT 1Ah - Function 17h
INT 1Ah - Function 19h
INT 1Ah - Function 1Ah
INT 1Ah - Function 1Bh
・bit 0
分類
Undocumented
対象
内容 不明。PC-H98では常に1。
解説 u 「改訂版 テクニカルデータブック ハードウェア編」p.93には、i386SL(98)
判定をこのビットで行えるように記述されているが、実際には
0000:0458h bit 0で判定しなければならない。
関連
メモリ 0000:0459h
型 BYTE
名前 CRT_EXT_STS
・bit 7,6
分類 CRT BIOS
Undocumented
対象 PC-H98
内容 拡張アトリビュートモード
---+-------------------------------------------
値 |内容
---+-------------------------------------------
11b|(予約)
10b|拡張アトリビュート EGHモード
01b|拡張アトリビュート JEHモード
00b|従来互換アトリビュート PCモード(起動時設定)
---+-------------------------------------------
解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 7,6。
関連 INT 18h - Function 2Ah
INT 18h - Function 2Bh
・bit 5
分類 TIMER BIOS
Undocumented
対象 PC-H98(ハイレゾ)
PC-9821A-E02(ハイレゾ)
内容 タイマBIOSのシングルイベントタイマ使用中フラグ
1= 使用中
0= 使用していない
解説 u PC-98XA・XL・XL^2・RLのハイレゾモードではこのフラグを使用しない。
関連 INT 1Ch - Function 02h
・bit 4
分類
対象
内容 未使用(?)
解説
関連
・bit 3(1/2)
分類 CRT BIOS
Undocumented
対象 PC-H98(ハイレゾ)
PC-9821A-E02(ハイレゾ)
内容 ラスタスキャンモード
1= ノンインターレース
0= インターレース
解説 o このビットが1になるのは、以下の条件のとき。
- PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモード。
- 98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET]
設定を行ったとき。
関連 INT 0Ah(外部割り込み…VSYNC)
INT 18h - Function 2Bh[PC-H98]
・bit 3(2/2)
分類 CRT BIOS
Undocumented
対象 PC-98GS, PC-9821(ノーマル), PC-9801BA2・BS2・BX2
内容 ラスタスキャンモード
1= ノンインターレース
0= インターレース
解説 o INT 18h - Function 30h,31hのモード設定情報bit 0。BIOSとは
値の意味が逆転している。
o PC-98GSの水平走査周波数15.73kHzモードのとき0になる。
o 初期値が1の機種はPC-98GS, PC-9821初代・Ceのみ。
上記以外の機種は0。ただし、PC-98GS以外の機種では、実際には
インターレースの信号は出力されない。
関連 INT 18h - Function 30h
INT 18h - Function 31h
・bit 2
分類 CRT BIOS
Undocumented
対象 PC-H98
内容 罫線色
1= I/Oセット値(INT 18h - Function 2Chでの設定値)に従う
0= VRAMのアトリビュートに従う(起動時設定)
解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 2。
関連 INT 18h - Function 2Ah
INT 18h - Function 2Bh
INT 18h - Function 2Ch
・bit 1
分類 CRT BIOS
Undocumented
対象 PC-H98
内容 不明(起動時設定=0)
解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 1。ノーマル・
ハイレゾ両モードで有効。
関連 INT 18h - Function 2Ah
INT 18h - Function 2Bh
・bit 0
分類 CRT BIOS
Undocumented
対象 PC-H98(ノーマル)
PC-98GS, PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)
内容 CRT解像度480ラインフラグ
1= 640x480
0= 640x400,640x200(起動時設定)
解説 o PC-H98では、INT 18h - Function 2Ah,2Bhのモード設定情報bit 0。ノーマル
モードで、水平走査周波数31.47kHzのとき1に設定可能。
o PC-98GSとPC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)では、
INT 18h - Function 30hでグラフィック解像度640x480に設定したとき1。
関連 0000:054Ch bit 5
INT 18h - Function 2Ah
INT 18h - Function 2Bh
INT 18h - Function 30h
INT 18h - Function 31h
INT 18h - Function 42h
メモリ 0000:045Ah
型 BYTE
名前 BIOS_FLAG6
分類 CPU速度
Undocumented
対象
内容 CPU速度
■[変更前]
bit 7〜0: CPU,クロック
02h = 386SX 10MHz(実際にはこの機種はない)
04h = 486SX 16MHz
05h = i386SL(98) 20MHz
* テクニカルデータブックに記述されている。
■[変更後]
bit 7〜4: CPUタイプ
0000b= CPUタイプ
0001b= 486DX2, WriteBackEnhanced IntelDX2
0010b= IntelDX4, IntelDX4ODP
0011b= PentiumODP(P24T)
0100b= 不明
0101b= 486DX2, WriteBackEnhanced IntelDX2
0110b= OverDriveProcessor for DX4
1000b= Pentiumプロセッサ60/66MHz版(P5)
1001b= Pentiumプロセッサ90/100MHz版(P54C)
1010b= OverDriveProcessor for 3.3V-Pentium
1011b= Pentiumプロセッサ133MHz版
1100b= 不明CPU
1101b= PentiumProODP(P55CT)
1111b= 不明CPU
bit 3〜0: クロック
0010b= Pentiumプロセッサ(P5,P54C,P54CT)の外部25MHz
0011b= Pentiumプロセッサ(P5,P54C)の外部30MHz
0100b= Pentium,PentiumProプロセッサ(P5,P54C,P55CT)の外部33MHz
0101b= DX2,DX4,P24Tの外部20MHz
0110b= DX2,DX4,P24Tの外部25MHz
0111b= DX2,DX4,P24T,ODPforDX4の外部33MHz
解説 o このワークエリアは、改訂版TDB,H/W辺でドキュメントされているが、
実際にはその後、ワークエリアの意味が変更された。上位4bitで判別
を行う。
o 機種によっては、このワークエリアの値が厳密に設定されておらず、
あまり信用できない。
関連 0000:0484h bit 3〜0
メモリ 0000:045Bh
型 8bit FLAGS
名前 BIOS_FLAG7
・bit 7
分類 TIME STAMPER
対象 全機種(PC-H98を除く)
内容 I/O 005Fh出力時のウェイト機能の有無
1= あり
0= なし
解説 o OUT 5Fh,AL命令実行時、ハードウェアで0.6μs程度(以上)のウェイトが入る
機能の有無を示す。
このビットが1の機種は以下の通り。
- PC-9801FA・BA・BX・BA2・BS2・BX2・NS/R・NX/C・P・NS/A・NL/R
- PC-9801NA(486SX 20MHz,386 20MHz相当モード)
- PC-9821(初代を除く)
u PC-9801FS・FX・US, PC-9821初代, PC-9801NA(V30 10MHz相当モード)ではこの
ビットが0になっているが、BIOS内でOUT 5Fh,ALによるウェイトを行って
いる。
u このビットが0の機種でOUT 5Fh,AL命令を実行したときも、実際には0.6μs
(以上)のウェイトがハードウェアによって挿入される。ただし、PC-9801初代・
E・F・Mでは、このI/Oアドレスは320KB FD I/FのI/Oのデコードイメージと
重なるので注意が必要。
o PC-H98はウェイト機能を持っているが、このビットは0。0000:0458h bit 7
(NESA識別ビット)=1ならウェイト機能ありと判断できる。
関連 0000:0458h bit 7
I/O 005Fh
・bit 6
分類
対象
内容 未使用(?)
解説
関連
・bit 5
分類 POWER
Undocumented
対象 PC-9801NS/T・NS/R・NX/C・P・NL/R
内容 パワーセーブモード
1= 設定する
0= 設定しない
解説 o 98NOTEメニューで設定するパワーセーブモードの状態を示す。
o PC-9801NL/R・NX/Cではパワーセーブモードの設定を行えないが、常に1。
o PC-9801NLはパワーセーブモードの設定ができるが、このビットは変化なし。
u PC-9801NS/R・Pは、パワーセーブモードを設定したあと一旦リセット
しないとパワーセーブモードが有効にならない。
関連 I/O 851Eh
・bit 4
分類 PCMCIA
Undocumented
対象 PC-9801NL
内容 PCMCIAメモリカードBIOS BUSY
1= PCMCIAメモリカードBIOS実行中
0= PCMCIAメモリカードBIOS実行中ではない
解説 o PCMCIAメモリカードBIOSの処理中に1になる。PCMCIAのデバイスドライバは
このビットを操作しない。
関連 INT 1Fh - Function B4h
INT 1Fh - Function B5h
INT 1Fh - Function B6h
INT 1Fh - Function B7h
INT 1Fh - Function B8h
・bit 3
分類
Undocumented
対象 全機種
内容 不明
解説 o このビットが1の機種はPC-9801NL・NS/R・NX/C・P。
関連
・bit 2
分類 TIME STAMPER
対象 全機種(PC-H98を除く)
内容 タイムスタンパ機能の有無
1= あり
0= なし
解説 o タイムスタンパ機能の有無を示す。このビットが1の機種は以下の通り。
- PC-9801FS・FX・US・BA・BX・BA2・BS2・BX2
- PC-9821
- 98NOTE(PC-9801N・NS・NV・NS/E・NCを除く)
o PC-H98はタイムスタンパ機能を持っているが、このビットは0。0000:0458h
bit 7(NESA識別ビット)=1ならタイムスタンパ機能ありと判断できる。
関連 0000:0458h bit 7
I/O 005Ch
I/O 005Eh
・bit 1
分類
Undocumented
対象 全機種
内容 カードスロットI/O機能の有無(?)
1= カードスロットI/O機能あり
0= カードスロットI/O機能なし
解説 o 詳細不明。このビットが1の機種は以下の通り。
- 98NOTE(PC-9801N・NS・NV・NS/E・NCを除く)
関連
・bit 0
分類 CPU判別
Undocumented
対象 全機種
内容 i386SL(98)識別
1= 386SL(98)
0= その他
解説 o i386SL(98)を搭載している機種はPC-9801NS/Tのみ。他の機種では常に0。
u 「改訂版 テクニカルデータブック ハードウェア編」p.93には、i386SL(98)
判定を0000:0458h bit 0で行えるように記述されているが、実際には
このビットで判定しなければならない。
関連
メモリ 0000:045Ch
型 8bit FLAGS
名前
・bit 7
分類 CPU
対象 PC-H98以外
内容 486SXフラグ
1= 486SX相当
0= その他
解説 o このビットが1になる機種・モードは以下の通り。
- PC-9821As・As2・Ce・Cs2・Ce2・Ne・Ts・XeのHIGHモード
- PC-9801FA・NA・NS/AのHIGHモード
- PC-9821Ap・As・As2のMIDDLEモード
関連
・bit 6
分類 機種判別
対象 ノーマル
内容 拡張グラフアーキテクチャ識別
1= 拡張グラフアーキテクチャ機
0= その他
解説 o PC-9821の拡張グラフアーキテクチャをサポートしているかどうかを
示す。このビットが1の機種は以下の通り。
- PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)
u 98ハイレゾボード(PC-9821A-E02)のハイレゾモードでも1を示しているが、
拡張グラフィックスは使用できない。
関連 INT 18h - Function 30h
INT 18h - Function 31h
・bit 5
分類 CRT
Undocumented
対象 PC-9801NA以降の98NOTE
内容 カラーLCD識別
1= カラーLCD
0= モノクロLCD
解説 o カラーLCDモデルかどうかを示す。このビットが1の機種は以下の通り。
- PC-9801NA/C・NX/C, PC-9821Ne
o PC-9801NCはカラーLCDを搭載しているが、このビットは0。
関連 I/O 00F0h bit 7[PC-9801NA・NA/C]
I/O 8810h bit 5[PC-9801NS/R・NX/C・NS/A・NL/R,PC-9821Ne・Np]
・bit 4
分類
対象
内容 未使用(?)
解説
関連
・bit 3
分類 DISK
Undocumented
対象 PC-9801NL
内容 ROMドライブ書き込み禁止フラグ
1= 書き込み許可
0= 書き込み禁止(初期状態)
解説 o INT 1Fh - Function 94hでのROMドライブ書き込みを許可するかどうかの
フラグ。INT 1Fh - Function 9Dhでセット/リセットされる。
関連 INT 1Fh - Function 94h
INT 1Fh - Function 9Dh
・bit 2
分類
Undocumented
対象 98NOTE(PC-9801N・NS・NV・NS/E・NC・NL/Rを除く)
内容 PC-9801N-08(拡張I/Oボックス)の接続の有無
1= 接続
0= 無接続
解説 o 98NOTE用拡張I/Oボックスの接続有無を示す。
関連 I/O 8810h bit 0
・bit 1
分類 SMM
Undocumented
対象 98NOTE(PC-9801N・NS・NV・NS/E・NC・NL・NS/L・NAを除く)
内容 パワーセーブモード禁止フラグ
1= パワーセーブモードへの移行を禁止
0= パワーセーブモードへの移行を許可
解説 o INT 1Fh - Function 9Eh Subfunction 02h,03hの設定状態を示す。
u PC-9801NS/Tのみ、INT 1Fh - Function 9Eh Subfunction 02h,03hの意味が
他の機種と逆転しているので注意が必要。このビットの意味は対象となる
全機種で同じ。
関連 INT 1Fh - Function 9Eh Subfunction 02h,03h
・bit 0
分類 CPU
Undocumented
対象 コプロセッサ搭載可能な98NOTE,
PC-9821A-E02(98ハイレゾボード)のハイレゾ(PC-9821Anを除く)
内容 数値演算コプロセッサ機能の有無
1= コプロセッサ機能あり
0= コプロセッサ機能なし
解説 o i387SX, i486DX, i487SX, i486DX(J), ODP486SX, Pentiumなどを搭載して
コプロセッサ機能が使用できるとき、1になる。
u 対象欄に記述のない機種では、コプロセッサ機能が使用できる場合でも0。
関連
メモリ 0000:045Dh
型 8bit FLAGS
名前
・bit 7
分類 Advanced Power Management BIOS
Undocumented
対象 PC-9801P
内容 不明
解説 o 詳細不明。PC-9801PのINT 1Fh - Function 9Axxhで使用している。
関連
・bit 6
分類 BOOT
Undocumented
対象 PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・NS/R・NX/C・P・NS/A・NL/R・NL/A
PC-9821(初代を除く)ノーマル
内容 ROM BASIC使用
1= 使用しない
0= 使用する
解説 o システムセットアップメニューの「ROM BASIC 使用する/使用しない」の
設定状態を示す。
o 98NOTEは、98NOTEメニューで「ROM BASIC起動」以外に設定すると1。
PC-9801Pは常に1。
関連
・bit 5
分類
Undocumented
対象 PC-9801NS/R・NX/C・P・NS/A・NL/R, PC-9821Ne
内容 不明
解説 o 詳細不明。RAMドライブ、ブート処理、パワーマネジメント関連で使用。
関連
・bit 4
分類 IDE BIOS
Undocumented
対象 PC-9821Bp・Bs・Be・Bf・Cs2・Ce2,PC-9801BA2・BS2・BX2・BA3・BX3・BX4
内容 2台目IDE HDDの高速IDEフラグ
1= 高速IDE
0= 非高速IDE
解説 o 2台目IDE HDDが高速IDE HDDかどうかを示す。
関連 0000:045Dh bit 3
0000:045Eh bit 6
0000:045Eh bit 5
・bit 3
分類 IDE BIOS
Undocumented
対象 PC-9821Af・Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2,PC-9801BA2・BS2・BX2
内容 1台目IDE HDDの高速IDEフラグ
1= 高速IDE
0= 非高速IDE
解説 o 1台目IDE HDDが高速IDE HDDかどうかを示す。
関連 0000:045Dh bit 4
0000:045Eh bit 6
0000:045Eh bit 5
・bit 2,1
分類
対象
内容 未使用(?)
解説
関連
・bit 0
分類 SCSI BIOS
Undocumented
対象 PC-9801-100
内容 PC-9801-100の使用するI/Oアドレス
1= I/O 387Eh〜
0= I/O 187Eh〜
解説 o SCSI-2インタフェースボードPC-9801-100の使用するI/Oアドレスを示す。
関連
メモリ 0000:045Eh
型 8bit FLAGS
・bit 7
名前
分類
Undocumented
対象 PC-9821Bp・Bs・Be・Bf・Ts
内容 不明
解説 o 詳細不明。ITFで1にセットされる場合がある。
関連 I/O 006Ah - 80h,81h
・bit 6
分類 IDE BIOS
Undocumented
対象 PC-9821Xa10・Xa9・Xa7・Xa12
内容 3台目IDE HDDの高速IDEフラグ
1= 高速IDE
0= 非高速IDE
解説 o 3台目IDE HDDが高速IDE HDDかどうかを示す。
関連 0000:045Dh bit 3
0000:045Dh bit 4
0000:045Eh bit 5
・bit 5
分類 IDE BIOS
Undocumented
対象 PC-9821Xa10・Xa9・Xa7・Xa12
内容 4台目IDE HDDの高速IDEフラグ
1= 高速IDE
0= 非高速IDE
解説 o 4台目IDE HDDが高速IDE HDDかどうかを示す。
関連 0000:045Dh bit 3
0000:045Dh bit 4
0000:045Eh bit 6
・bit 4〜0
分類
対象
内容 未使用
解説
関連
メモリ 0000:045Fh
型 BYTE
名前
分類
対象
内容 未使用(?)
解説
関連
メモリ 0000:0460〜047Fh
型 32 BYTES
名前
分類 SCSI BIOS
Undocumented
対象 PC-9801-55初代・55L・55U・92・100, PC-H98-B03・B12, PC-9821X-B02,
上記相当の本体内蔵型SCSIインターフェース
内容 SCSI装置のパラメータテーブル
[アドレスとSCSI IDの対応]
-----------+---------------------------------
アドレス |内容
-----------+---------------------------------
0460〜0463h|SCSI ID #0のパラメータテーブル
0464〜0467h|SCSI ID #1のパラメータテーブル
0468〜046Bh|SCSI ID #2のパラメータテーブル
046C〜046Fh|SCSI ID #3のパラメータテーブル
0470〜0473h|SCSI ID #4のパラメータテーブル
0474〜0477h|SCSI ID #5のパラメータテーブル
0478〜047Bh|SCSI ID #6のパラメータテーブル
047C〜047Fh|未使用 *1
-----------+---------------------------------
*1 SCSI ID #7のデバイスは認識されない。常に0が格納されている。
[テーブル構造(1)]
(ハードディスク・シリンダ数ビット幅<12ビット>時)
-----+--------+---------------------------------
オフセット|ビット |内容
-----+--------+---------------------------------
+0h |bit 7〜0|セクタ数/トラック
+1h |bit 7〜0|ヘッド数
+2h |bit 7〜0|シリンダ数のbit 7〜0
+3h |bit 7 |セクタ種別
| | 1= ハードセクタ
| | 0= ソフトセクタ
|bit 6 |シリンダ数ビット幅指定
| | 1= テーブル構造(2)参照
| | 0= 12ビット
|bit 5,4 |セクタ長
| | 10b= 1024バイト
| | 01b= 512バイト
| | 00b= 256バイト
|bit 3〜0|シリンダ数のbit 11〜8
-----+--------+---------------------------------
[テーブル構造(2)]
(ハードディスク・シリンダ数ビット幅<16ビット>時)
-----+--------+---------------------------------
オフセット|ビット |内容
-----+--------+---------------------------------
+0h |bit 7〜0|セクタ数/トラック
+1h |bit 7〜4|シリンダ数のbit 15〜12
|bit 3〜0|ヘッド数
+2h |bit 7〜0|シリンダ数のbit 7〜0
+3h |bit 7 |セクタ種別
| | 1= ハードセクタ
| | 0= ソフトセクタ
|bit 6 |シリンダ数ビット幅指定
| | 1= 16ビット
| | 0= テーブル構造(1)参照
|bit 5,4 |セクタ長
| | 10b= 1024バイト
| | 01b= 512バイト
| | 00b= 256バイト
|bit 3〜0|シリンダ数のbit 11〜8
-----+--------+---------------------------------
* PC-9801-55初代ではシリンダ数ビット幅16ビットはサポートして
いない。その他のSCSI I/F(本体内蔵型含む)はサポートしている。
[テーブル構造(3)]
(ハードディスク以外)
-----+--------+------------------------------------------
オフセット|ビット |内容
-----+--------+------------------------------------------
+0h |bit 7〜6|Peripheral Qualifier
|bit 5〜0|Peripheral Device Type
| | 00h=Direct access device(ハードディスク)
| | 01h=Sequential access device(磁気テープ)
| | 02h=Printer device
| | 03h=Processor device
| | 04h=Write once device(追記型光ディスク)
| | 05h=CD-ROM device
| | 06h=Scanner device
| | 07h=Optical memory device(3.5"MO)
| | 08h=Media change device
| | 09h=Communication device
| | 1Fh=Undefined device type
+1h |bit 7 |RMB(Removable)
| | 1=交換可能媒体
| | 0=交換不能媒体
|bit 6〜0|Device Type Modifier
+2h |bit 7〜0|未使用(00h)
+3h |bit 7〜0|未使用(00h)
-----+--------+------------------------------------------
解説 o SCSI ID毎の装置のパラメータが格納されている。
u INT 1Bh - Function 84h(SCSI)が実行されたとき、SCSIデバイスに
パラメータを問い合わせるのではなく、BIOSはこのアドレスに書かれた
データを元にドライブのパラメータを返す。
u システム起動時とINT 1Bh - Function 03h(SCSI)実行時に、SCSI BIOSは
SCSI機器の接続状態を調査する。
得られた情報のうち、SCSI ID毎のハードディスクの接続の有無を
0000:0482hに、ドライブのパラメータをこの領域にセットする。
SCSI装置がなにも接続されていないIDに対応するアドレスの内容はすべて0。
ハードディスク以外の装置が接続されているときには、「テーブル構造(3)
(ハードディスク以外)」に示したような値が設定される。
u PC-H98-B12, PC-9801-92・100, PC-9821X-B02(および、前記に相当する本体
内蔵型SCSIインターフェース)では、NEC製以外のHDDの接続が可能である。
NEC製以外のHDDが接続されていたときは、SCSIのRead Capacityコマンドで
ドライブの総容量を取得し、ヘッド数=08h、セクタ数=20hと見なして
シリンダ数を算出する。このため、ヘッド数とセクタ数は常に固定値が
セットされる。
u MS-DOS 3.3D, 5.0以降では、3.5"MO/5"MOドライブが接続されていると
そのパラメータをMS-DOSが書き換える。INT 1Bh - Function 84h(SCSI)で
ハードディスクと同じようにパラメータが取得できるようになる。ただし、
MS-DOS 3.3Dの場合、3.5"MOをサポートしていないので、5"MOドライブが
接続されているときだけ書き換えを行う。
MS-DOS起動後にINT 1Bh - Function 03h(SCSI)を実行するとMS-DOSが
設定したデータが壊れてしまい、INT 1Bh - Function 84h(SCSI)を
実行したときにでたらめな値が読みだされるようになってしまうが、
動作上の支障はない模様。
MS-DOSによりセットされるパラメータは以下の表の通り。
ただし、PC-9801-55初代では、シリンダ数ビット幅<12ビット>しか
サポートしていないため、セクタ長以外の項目には0がセットされる。
表 [MS-DOSによりセットされるパラメータ]
----------+------+------------
項目 | 5"MO|3.5"MO(128MB)*1
----------+------+------------
セクタ長 | 1024| 512
シリンダ数| 4656| 9952
ヘッド数 | 1| 1
セクタ数 | 64| 25
----------+------+------------
*1:MS-DOS 5.0Aは、128MB 3.5"MOドライブしかサポートしていないため、
230MB 3.5"MOドライブを接続した場合もこのパラメータがセットされる。
関連 0000:0482h
0000:05A5h
0000:05AFh
INT 1Bh - Function 84h(SCSI)
INT DCh - Function 09h
メモリ 0000:0480h
型 8bit FLAGS
名前 SYS_TYPE
BIOS_FLAG1
・bit 7
分類 DISK BIOS
Undocumented
対象 ノーマル
内容 SASI・IDE BIOSの新センスコマンドサポート
1= サポートあり
0= サポートなし
解説 o INT 1Bh - Function 84h(SASI/ESDI/IDE)のサポートの有無を示す。
o PC-9801-27(5インチ固定ディスクインターフェースボード)上のBIOS、
PC-9801-07(5インチ固定ディスクインターフェースボード)をサポート
するBIOSは、INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートして
いないため、このビットは0。PC-9801F3・M3・VM4の内蔵型SASI BIOSは、
これらの互換BIOSなので同様。
ただし、MS-DOS 3.1(PS98-011)以降のMS-DOS環境下では、MS-DOSが
INT 1Bh - Function 84h(SASI/ESDI/IDE)をトラップし、エミュレート
している。このとき、このビットは1にセットされる。
o PC-9801VX4以降の内蔵型SASI BIOS,ESDI BIOS,IDE BIOS,PC-H98内蔵
HD BIOSは、INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートしており、
このビットは1。
o ハイレゾモードのSASI BIOS(本体F800hセグメント内)も
INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートしているが、この
ビットは0。ただし、ハイレゾモードでもIDE HD内蔵時にはIDE BIOSが
このビットを1にする。
o ESDI BIOS(PC-H98/70-E02)はDA/UAがSASI上位互換だが、このフラグは
0で、INT 1Bh - Function 84hをサポートしている。
o PC-H98用内蔵SASI HDD(PC-H98/70-E01・E03の互換モードでは、このフラグ
は1。しかし、拡張モードではINT 1Bh - Function 84h(SASI/ESDI/IDE)を
サポートしているが、このビットは0。
o SCSI BIOSは、必ずINT 1Bh - Function 84h(SCSI)をサポートしている。
関連 INT 1Bh - Function 84h(SASI/ESDI/IDE)
・bit 6
分類 GRAPHIC
Undocumented
対象 ノーマル
内容 EGC対応高速グラフィック処理
1= サポート
0= 非サポート
解説 o グラフィックBIOS,グラフィックLIOでグラフィック描画を行うとき、
ROM内ルーチンがEGCを利用するかどうかを示す。
o このビットが0の機種・モードは以下の通り。
- PC-9801初代・E・F・M・U・VF・VM2・VM21・VX2・UV2・UV21
- PC-9801VX21(V30 8MHz/10MHz, 80286 8MHz)
このビットが1の機種・モードは以下の通り。
- PC-9801VX21(80286 10MHz)
- 上記以外のノーマルモード
同一機種で、モードによりこのビットが変化するのはPC-9801VX21のみ。
o PC-H98のハイレゾモード,98ハイレゾボード(PC-9821A-E02)のハイレゾ
モードでも1を示す。
関連 I/O 0439h bit 1
bit 5
分類 BRANCH 4670
Undocumented
対象 全機種
内容 PC-9864Uの有無
1= PC-9864Uが実装されている
0= PC-9864Uが実装されていない
解説 o PC-9864Uが実装されていると1になる(ノーマル,ハイレゾとも)。
o PC-9864初代はこのビットをセットしない。
関連 0000:0400h bit 0
・bit 4
分類 DISK BIOS
対象 両用BIOS - 1MB I/Fモード
(PC-9801VM2・VM21・UV2・UV21・VX2・VX21・UX, PC-98XA・XLを除く)
内容 両用1MB I/F FDモータ制御
1= 自動停止モード
0= 常時ON
解説 o INT 1Bh - Function 83h(FD)を実行すると、このビットが1になる。
このビットを0にするBIOSファンクションはない。
o 起動時からモータ停止モードに設定されている機種、
システムセットアップメニューで起動時のモードを選択できる機種もある。
関連 0000:0485h
INT 1Bh - Function 83h(FD)
I/O 00BEh bit 2
・bit 3
分類 DISK BIOS
Undocumented
対象 両用BIOS(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く)
内容 最後にアクセスしたドライブのタイプ
1= 両用FDD
0= 1MB専用外付FDD
解説 u RAMドライブにアクセスした場合には、変化しない。
関連
・bit 2
分類 POWER
対象 PC-9801LV・N・NS
内容 LOW BATTERY
1= LOW BATTERYアラーム発生
0= LOW BATTERYではない
解説 o PC-98901LV・Nでは、LOW BATTERYになるとNMIが発生する。NMIハンドラが
このビットを1にする。
PC-9801NSでは、INT 0EhハンドラがLOW BATTERYのチェックをし、
LOW BATTERYならこのビットを1にする。
関連 I/O 8810h bit 1
・bit 1,0
分類 CPU判別
対象 全機種
内容 拡張CPUタイプ
■PC-H98
11b= 386 8MHz相当モード以外
00b= 386 8MHz相当モード
■PC-9801NS・NA
11b= V30 10MHz相当モード以外
00b= V30 10MHz相当モード
■PC-98XA
00b= i80286 8MHz
■上記以外(実際の動作CPU)
11b= i386, i486, Pentium
01b= i80286
00b= i8086, V30, V30HL, V50, V33
解説 o PC-H98, PC-9801NS・NA以外の機種では、実際の動作CPUを示す。
関連
メモリ 0000:0481h
型 8bit FLAGS
名前 KEYB_TYPE, BIOS_FLAG3
・bit 7
分類 SHUT DOWN
Undocumented
対象 PC-H98(model70を除く)
内容 シャットダウンポート操作時のワーク
解説 o 詳細不明
関連 I/O 00F0h
・bit 6
分類 KEYBOARD
対象 全機種
内容 キーボード識別(1)
-----+-----+-------------------------------------
bit 6|bit 3|キーボード種別
-----+-----+-------------------------------------
1 | 1 |新キーボード(NUMキーあり,DIP2-7 OFF)
0 | 1 |新キーボード(NUMキーあり,DIP2-7 ON)
1 | 0 |新キーボード(NUMキーなし)
0 | 0 |旧キーボード
-----+-----+-------------------------------------
解説 o 接続されているキーボードの種類を示す。
新キーボード対応機のBIOSは、リセット時にキーボードの種類を調べ、
このビットを設定する。
o 新キーボードとは、[CAPS],[カナ]ロックをソフトウェアからコントロール
できるキーボードを指す。
旧キーボードは、ロック状態をソフトウェアからコントロールできない。
NUMキーなしは、デスクトップ機。
NUMキーありは、98NOTE,PC-9801LX・LS・T,PC-9821Ts,PC-H98Tの場合。
o 新キーボード対応機は、i80286以降のCPUを搭載した機種
(PC-9801VX2・VX21・UX, PC-98XA・XL・XL^2を除く)。
98NOTEでは、PC-9801N・NV・NL以外は新キーボード。
o bit 6,3は、次の場合にも00bになる。
- 新キーボード対応の本体に旧キーボードを接続したとき。
- 新キーボード対応の本体を起動したときに、キーボードが接続されて
いなかったとき。
- 旧キーボード対応の本体に新キーボードを接続したとき。
- PC-9801Pにキーボードを接続しないとき(キーボードを外付したときには、
DIP SW 2-7に従って11b、または01bになる)。
関連 DIP SW 2-7
0000:0481h bit 3
・bit 5
分類 EMS
Undocumented
対象 ノーマル
内容 NEC B0000hバンクEMSページフレーム用メモリ
1= あり
0= なし
解説 o ソフトウェアエミュレーション方式のEMS(EMM.SYS)で使用するためのページ
フレーム用メモリの有無を示す。
o i80286以降のCPUを搭載した機種(PC-9801VX2・VX21・UX, PC-98XA・XL・XL^2,
PC-9821Np・Ns・Ne2・Nd・Xa・Xtを除く)のノーマルモードのとき1を示す。
u V30モードやV30相当モードでは、EMSエミュレーションはできないが、
このメモリ自体にはアクセスできる。このビットも1。
関連 I/O 043Fh - 20h,22h
・bit 4
分類 EMS
Undocumented
対象 ノーマル
内容 NEC B0000hバンクEMS使用時のバンク状態
1= ページフレーム
0= G-VRAM
解説 o NEC B0000hバンクEMS使用時のバンク状態を示す。EMMがワークエリアとして
使用する。
関連 I/O 043Fh - 20h,22h
・bit 3
分類 KEYBOARD
対象 全機種
内容 キーボード識別(2)
解説 o 0000:0481h bit 6を参照。
関連 0000:0481h bit 6
・bit 2
分類 MEMORY
Undocumented
対象 PC-98RL,PC-H98,PC-9821A-E02(ハイレゾ)
内容 ハイレゾのメモリウィンドウのテスト結果
1= 使用可能
0= 使用不可能
解説 o I/O 0091h,0093hのメモリウィンドウの動作チェック結果を示す。
o PC-98RL,PC-H98,98ハイレゾボード(PC-9821A-E02)のハイレゾモードでは
通常1。
そのほかの機種のハイレゾモードでは、このビットは0を示すが、
I/O 0091h,0093hのメモリウィンドウは使用できる。
u PC-H98のITFでは、エラーが検出されて使用不可能なとき、"EMS ERROR"と
表示する。
EMM.SYS(ソフトウェアエミュレーション方式のEMM)は、このビットを
チェックしていない。
関連 I/O 0091h
I/O 0093h
・bit 1
分類 HD BIOS
Undocumented
対象 SASI, IDE(ノーマルモードのみ)
内容 SASI・IDE HD #1のモード
1= 厚型ドライブ・セクタ長512バイトのとき
0= 厚型ドライブ・セクタ長256バイト,または薄型ドライブのとき
解説 o 詳細不明。INT 1Bh - Function 0Eh(SASI/ESDI/IDE)参照。
u PC-9801CV・LV・UV11・Nでは2台目SASIを接続していなくてもこのビットは
常に1。理由は不明。
関連 0000:0590h bit 1
0000:05ECh
INT 1Bh - Function 0Eh(SASI/ESDI/IDE)
・bit 0
分類 HD BIOS
Undocumented
対象 SASI, IDE(ノーマルモードのみ)
内容 SASI・IDE HD #0のモード
1= 厚型ドライブ・セクタ長512バイトのとき
0= 厚型ドライブ・セクタ長256バイト,または薄型ドライブのとき
解説 o 詳細不明。INT 1Bh - Function 0Eh(SASI/ESDI/IDE)参照。
関連 0000:0590h bit 0
0000:05E8h
INT 1Bh - Function 0Eh(SASI/ESDI/IDE)
メモリ 0000:0482h
型 8bit FLAGS
名前 DISK_EQUIPS
分類 SCSI HD BIOS
対象 PC-9801-55初代・55L・55U・92・100,PC-H98-B03・B12,PC-9821X-B02
PC-9821A-E10
上記相当の本体内蔵型SCSIインターフェース
内容 SCSI HD接続状態
------+--------------------------
ビット|装置
------+--------------------------
bit 7 | 未使用
bit 6 | SCSI ID #6(DA/UA=A6h,26h)
bit 5 | SCSI ID #5(DA/UA=A5h,25h)
bit 4 | SCSI ID #4(DA/UA=A4h,24h)
bit 3 | SCSI ID #3(DA/UA=A3h,23h)
bit 2 | SCSI ID #2(DA/UA=A2h,22h)
bit 1 | SCSI ID #1(DA/UA=A1h,21h)
bit 0 | SCSI ID #0(DA/UA=A0h,20h)
------+--------------------------
1= HDDが接続されている
0= HDDが接続されていない
解説 o SCSI HDの接続状態を示す。SCSI BIOSは、リセット時および初期化
ファンクション実行時にハードディスクの接続チェックを行い、結果を
この領域に格納する。
o SCSIハードディスクに対してのみ有効。MOやCD-ROMなどが接続されているIDは
1にならない。
関連 0000:0460h
0000:055Ch
0000:05A5h
0000:05AFh
INT 1Bh - Function 03h(SASI/SCSI/ESDI/IDE)
メモリ 0000:0483h
型 8bit FLAGS
名前
分類 SCSI BIOS
Undocumented
対象 PC-9801-55初代・55L・55U・92・100,PC-H98-B03・B12,PC-9821X-B02
PC-9821A-E10
上記相当の本体内蔵型SCSIインターフェース
内容 SCSIステータス
--------+------------------------------------------------
ビット |内容
--------+------------------------------------------------
bit 7〜4|WD33C93(A)の終了ステータスのbit 7〜4を変換した値
| 0100b: WD33C93(A)ステータスが0000bのとき
| 0000b: WD33C93(A)ステータスが0001bのとき
| 0001b: WD33C93(A)ステータスが0010bのとき
| 0010b: WD33C93(A)ステータスが0100bのとき
| 0011b: WD33C93(A)ステータスが1000bのとき
bit 3〜0|WD33C93(A)の終了ステータスのbit 3〜0の値
--------+------------------------------------------------
00h= Reselectコマンド正常終了
01h= Selectコマンド正常終了
03h= Receive,Send,Reselect and Trasfer, Wait for Receive
コマンド正常終了(ATNなし)
04h= Receive,Send,Reselect and Trasfer, Wait for Receive
コマンド正常終了(ATNなし)
06h= Select and Transferコマンド正常終了
08h= Transferコマンド正常終了(データアウトフェイズ)
09h= Transferコマンド正常終了(データインフェイズ)
0Ah= Transferコマンド正常終了(コマンドフェイズ)
0Bh= Transferコマンド正常終了(ステータスフェイズ)
0Ch= Transferコマンド正常終了(アンスペシファイドインフォメーションアウトフェイズ)
0Dh= Transferコマンド正常終了(アンスペシファイドインフォメーションインフェイズ)
0Eh= Transferコマンド正常終了(メッセージアウトフェイズ)
0Fh= Transferコマンド正常終了(メッセージインフェイズ)
10h= Transferコマンド(メッセージインフェイズ)がACKのアサート状態でポーズ
11h= Select and Transferコマンド中にセイブデータポインタメッセージ受信
12h= Select,Reselectコマンドがアボートされた
13h= Receive,Sendコマンドがホルトまたはアボートされた(ATNなし)
14h= Receive,Sendコマンドがホルトまたはアボートされた(ATNあり)
18h= Transferコマンドがアボートされた(データアウトフェイズ)
19h= Transferコマンドがアボートされた(データインフェイズ)
1Ah= Transferコマンドがアボートされた(コマンドフェイズ)
1Bh= Transferコマンドがアボートされた(ステータスフェイズ)
1Ch= Transferコマンドがアボートされた(アンスペシファイドインフォメーションアウトフェイズ)
1Dh= Transferコマンドがアボートされた(アンスペシファイドインフォメーションインフェイズ)
1Eh= Transferコマンドがアボートされた(メッセージアウトフェイズ)
1Fh= Transferコマンドがアボートされた(メッセージインフェイズ)
20h= 無効なコマンドがアボートされた
21h= コマンドがターミネイトされディスコネクト
22h= Select,Reselectコマンド実行中にタイムアウト
23h= パリティエラーが発生し、コマンドがターミネイトされた(ATNなし)
24h= パリティエラーが発生し、コマンドがターミネイトされた(ATNあり)
26h= あやまったターゲットデバイスがリセレクトした
27h= 受け取ったメッセージ,ステータス,コマンドが不適切
28h= 予期せぬインフォメーションフェイズ要求(データアウトフェイズ)
29h= 予期せぬインフォメーションフェイズ要求(データインフェイズ)
2Ah= 予期せぬインフォメーションフェイズ要求(コマンドフェイズ)
2Bh= 予期せぬインフォメーションフェイズ要求(ステータスフェイズ)
2Ch= 予期せぬインフォメーションフェイズ要求(アンスペシファイドインフォメーションアウトフェイズ)
2Dh= 予期せぬインフォメーションフェイズ要求(アンスペシファイドインフォメーションインフェイズ)
2Eh= 予期せぬインフォメーションフェイズ要求(メッセージアウトフェイズ)
2Fh= 予期せぬインフォメーションフェイズ要求(メッセージインフェイズ)
30h= リセレクトされた
32h= セレクトされた(ATNなし)
33h= セレクトされた(ATNあり)
34h= ATN信号がすでにアサートされている
35h= ディスコネクト発生
38h= コネクションに続いてREQがアサートされた(データアウトフェイズ)
39h= コネクションに続いてREQがアサートされた(データインフェイズ)
3Ah= コネクションに続いてREQがアサートされた(コマンドフェイズ)
3Bh= コネクションに続いてREQがアサートされた(ステータスフェイズ)
3Ch= コネクションに続いてREQがアサートされた(アンスペシファイドインフォメーションアウトフェイズ)
3Dh= コネクションに続いてREQがアサートされた(アンスペシファイドインフォメーションインフェイズ)
3Eh= コネクションに続いてREQがアサートされた(メッセージアウトフェイズ)
3Fh= コネクションに続いてREQがアサートされた(メッセージインフェイズ)
40h= コマンドまたはMR入力によるリセット
解説 o SCSIコントローラ(WD33C93)の終了ステータスから生成される値が
格納される。INT 1Bh - Function nnh(SCSI共通)実行後AHレジスタに
返される終了ステータス。
関連 INT 1Bh - Function nnh(SCSI共通)
メモリ 0000:0484h
型 BYTE
名前 CPU_TYPE, BIOS_FLAG4
・bit 7,6
分類 HD BIOS
対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL,
PC-9821Ap・As・Ae・Af・Ap2・As2・An
内容 内蔵ハードディスクインターフェースのDMAチャネル
11b= チャネル3
10b= チャネル2
01b= チャネル1
00b= チャネル0,内蔵ハードディスクなし
解説 o 内蔵ハードディスクインターフェースが使用するDMAチャネルを示す。
u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10の
うちのどれかを内蔵できる機種では、本体内のITFがこれらのビットを
セットする。
u PC-9801RA21・RS・DA・DS・DX,PC-98GS,PC-98RLにSASI型内蔵HDDを実装したとき、
およびPC-9801FA・FS・FX,PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェース
スロットにSCSIインターフェースを入れただけの状態でも、これらのビットは
セットされる。
o PC-9801RA2・RX2・RX21とPC-H98はこれらのビットを使用しない。
o PC-9801RA-37,PC-9801DA-37,PC-98RL-37は、100MB SCSI型
内蔵HDD。PC-9801FA-02,PC-9821A-E10は、PC-9801FA・FS・FX,
PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェーススロット対応SCSI I/F。
関連 I/O 0CC4h
I/O 00F0h bit 6,5
I/O 00F6h
I/O 7FDBh bit 4■PC-98RL
DIP SW 3-3
・bit 5
分類 HD BIOS
Undocumented
対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL,
PC-9821Ap・As・Ae・Af・Ap2・As2・An
内容 内蔵SCSIインターフェースの有無
1= 内蔵SCSIあり
0= 内蔵SCSIなし
解説 o 内蔵SCSIインターフェースの有無を示す。
u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10のうちの
どれかを内蔵できる機種では、本体内のITFがこのビットをセットする。
u PC-9801FA・FS・FX,PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェース
スロットにSCSIインターフェースを入れただけの状態でも、このビットは
1になる。
o PC-9801RA2・RX2・RX21とPC-H98は、上記のSCSI型内蔵HDD(I/F)を実装できない
のでこのビットを使用しない。
関連 I/O 00F0h bit 6
・bit 4
分類 HD BIOS
Undocumented
対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL,
PC-9821Ap・As・Ae・Af・Ap2・As2・An
内容 内蔵SASIインターフェースの有無
1= 内蔵SASIあり
0= 内蔵SASIなし
解説 o 内蔵SASIインターフェースの有無を示す。
IDE HDDが内蔵されていても1にはならない。
u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10のうちの
どれかを内蔵できる機種では、本体内のITFがこのビットをセットする。
o このビットが1になるのは、PC-9801RA21・RS・DA・DS・DX,PC-98GS,PC-98RLに
SASI型内蔵HDDを実装したとき、およびPC-9801FA・FS・FXでハードウェア
DIP SW 5をON(PC-9801FA-03増設用3.5インチ固定ディスクドライブ接続
ユニットを使用する)にしたときである。
PC-9821Ap・As・Ae・Af・Ap2・As2・Anでは、システムセットアップメニューで
「ディスク接続ユニット 使用する」に設定してもこのビットは0。
o PC-9801RA2・RX2・RX21とPC-H98はこのビットを使用しない。
関連 I/O 00F0h bit 5
・bit 3〜0
分類 CPU速度
対象 全機種
内容 CPUタイプ・クロック判別
■PC-H98
-----+--------------------+------------------------------------------
値 |CPU クロック |代表的な機種名(モード)
-----+--------------------+------------------------------------------
1110b|486DX2 66MHz |PC-H98 model105(H)
1110b|486SX 16MHz |PC-H98 model80(H)
1010b|486 20MHz |PC-H98S(H)
1000b|486 25MHz(相当)|PC-H98 model90(H)・100(H)・105(M)
0110b|386 33MHz(相当)|PC-H98 model70(H)・90(M)・100(M)
0100b|386 25MHz |PC-H98 model60(H)
0010b|386 20MHz相当 |PC-H98 model60(M)・70(M), PC-H98S(M)
0000b|386 16MHz相当 |PC-H98 model80(M)
0000b|386 8MHz相当 |PC-H98(L)
-----+--------------------+------------------------------------------
■i386,i486,Pentium動作時(PC-H98以外)
-----+--------------------+------------------------------------------
値 |CPU クロック |代表的な機種名(モード)
-----+--------------------+------------------------------------------
1111b|386SL 20MHz |PC-9801NS/T
1110b|Pentium 90MHz |PC-9821An(H)・Xn(H)
1110b|Pentium 60MHz |PC-9821Af(H)
1110b|DX4 100MHz |PC-9821Xp(H)
1110b|DX4 75MHz |PC-9821Np(H)
1110b|486DX2 66MHz |PC-9821Ap(H)・Bp(H)・Xs(H)
1110b|ODP486SX 33MHz |PC-9821As(H)ODP
1110b|486SX 33MHz |PC-9821Xe
1110b|486SX 16MHz |PC-9801FA
1110b|486SX(J) 16MHz |PC-9801NS/R
1110b|486 16MHz相当 |PC-9821Ap(M)・As(M)・Bp(M)
1110b|V30 8MHz相当 |PC-9801NS/T
1100b|486DX 33MHz |PC-9821As(H)
1100b|486 33MHz相当 |PC-9821Af(M)・An(M)
1010b|486SX 20MHz |PC-9801NA
1010b|486SX(J) 20MHz |PC-9801P・NX/C
1000b|486SX 25MHz |PC-9821Ae(H)・Ce(H)
0011b|386SX 20MHz |PC-9801T・NC・NS/L,PC-98GS,
| |PC-9821初代(H)・Ce(H)
0010b|386 20MHz相当 |PC-9801NA(M)
0010b|386 20MHz相当 |PC-9801Ae(M)
0010b|386DX 20MHz |PC-9801DA・RA21,PC-98RL
0010b|V30 10MHz相当 |PC-9801NC(L)
0001b|386SX 16MHz |PC-9801ES・RS・LS・US・DS・NS/E
0001b|386SX 12MHz |PC-9801NS(H)
0001b|386 16MHz相当 |PC-9801FA(M)
0001b|386SX 20MHz省電力|PC-9801NS/L
0000b|386DX 16MHz |PC-9801RA2・RA21・DA,PC-98XL^2・RL
0000b|V30 10MHz相当 |
0000b|V30 8MHz相当 |
-----+--------------------+------------------------------------------
* 値が1110bの時、0000:045Ahにさらに詳しいクロック情報が提供される
機種がある。
* V30 10MHz相当のときでも、システムクロックが10MHzとは限らない
(PC-9801NS/Eなど)。
* V30 8MHz相当のときでも、システムクロックが8MHzとは限らない
(PC-9821初代など)。
■i80286動作時(PC-98XA以外)
(0000:0480h bit 1,0=01b)
-----+--------------------+------------------------------------------
値 |CPU クロック |代表的な機種名(モード)
-----+--------------------+------------------------------------------
0010b|80286 12MHz |PC-9801EX・RX2・RX21・LX・DX
0000b|80286 10MHz |PC-9801VX21・UX・EX・RX2・RX21・LX・DX, PC-98XL
0000b|80286 8MHz |PC-9801VX2・VX21・RX2・RX21・DX, PC-98XL
0000b|V30 10MHz相当 |PC-9801DX
-----+--------------------+------------------------------------------
■PC-98XA
(0000:0480h bit 1,0=00b)
-----+--------------------+------------------------------------------
値 |CPU クロック |機種名(モード)
-----+--------------------+------------------------------------------
0000b|80286 8MHz |PC-98XA
-----+--------------------+------------------------------------------
■8086,V30,V30HL,V33A,V50,V50HL動作時
(0000:0480h bit 1,0=00b)
-----+--------------------+------------------------------------------
値 |CPU クロック |代表的な機種名(モード)
-----+--------------------+------------------------------------------
0010b|V33A 16MHz |PC-98DO+(H)
0010b|V30HL 16MHz |PC-9801NV・NL・UR(H)
0000b|V33A 8MHz |PC-98DO+(L)
0000b|V30HL 8MHz |PC-9801NV・NL・UR(L)
0000b|V50HL 10MHz |DB-P1
0000b|V50 10MHz |PC-98HA
0000b|V50 8MHz |PC-98LT
0000b|V30 10MHz相当 |PC-9801NA・NS
0000b|V30 10MHz |
0000b|V30 8MHz |
0000b|8086 8MHz |
0000b|8086 5MHz |
-----+--------------------+------------------------------------------
* PC-9801NA・NSは、i486SX,i386SX機(V30非搭載)だが、V30相当モードに
設定すると0000:0480h bit 1,0=00bになるので、ここに分類した。
解説 o CPUタイプとクロックにより変化する。ただし、CPU速度と値の対応は、
必ずしも整理されているわけではない。
o bit 0は、i386SX,i386SL(98)のとき1を示す。
o 動作CPUを判定する方法は以下の通り。
-----------------------------------+-----------------------
動作CPU |判定方法
-----------------------------------+-----------------------
PC-H98 |0000:0458h bit 7=1
i386,i486,Pentium動作時(PC-H98以外)|0000:0458h bit 7=0 かつ
|0000:0480h bit 1,0=11b
i80286動作時(PC-98XA以外) |0000:0480h bit 1,0=01b
PC-98XA |0000:0501h bit 5,3=01b
8086,V30,V30HL,V33A,V50,V50HL動作時|0000:0458h bit 7=0 かつ
|0000:0480h bit 1,0=00b
-----------------------------------+-----------------------
関連 CPU速度関係
メモリ 0000:0485h
型 BYTE
名前
分類 DISK BIOS
Undocumented
対象 両用BIOS - 1MB I/Fモード(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く)
内容 モータ停止カウンタ(単位:100ms)
解説 o INT 1Bh - Function 83h(FD)でモータ停止モードに設定したときに
使用されるカウンタ。
u ディスクI/Oの終了時に、0000:05CBhの値(モータ停止時間の初期値)が
コピーされる。100ms毎にFDCが発生する割り込みによって1づつ
デクリメントされ、0になるとモータが停止する。
関連 0000:05A4h
0000:05CBh
0000:05D7h
INT 1Bh - Function 83h(FD)
メモリ 0000:0486〜0487h
型 WORD
名前
分類 CPU
Undocumented
対象 i386(PC-98XL^2を除く),i486,Pentium搭載機
内容 CPUリセット時のDXレジスタの値
-----+-----------------------+-------------------------------------
値 |CPU |主な搭載機種・コメント等
-----+-----------------------+-------------------------------------
0303h|i386DX(B0,B1 Step) |PC-98XL^2(仮想86,Windows動作不能品)
0305h|i386DX(D0 Step) |PC-9801RA2
0308h|i386DX(D1,D2 Step) |PC-9801RA21・DA,PC-H98 model70
2304h|i386SX(A0 Step) |
2305h|i386SX(B Step) |PC-9801ES・RS・LS
2308h|i386SX(C Step) |PC-9801T・NS・NS/E・NC・NS/L・RS・DS・US,
| |PC-98GS,PC-9821初代
33xxh|i376 |組み込み用CPU
430xh|i386SL(A-step) |ISA用Microprocessor Superset
431xh|i386SL(B-step) |ISA用Microprocessor Superset
5300h|i386SL(98) |PC-9801NS/T
0340h|RapidCAD |
A301h|IBM 386SLC(step 1) |参考
0400h|i486DX(A0 Step) |
0401h|i486DX(B3〜B6 Step) |
0402h|i486DX(C0 Step) |
0403h|i486DX(C1 Step) |
0404h|i486DX(D0 Step) |PC-H98 model100, PC-9821As
0410h|i486DX(cA2/cA3 Step) |
0411h|i486DX(cB2/cB3 Step) |
0420h|i486SX(A0 Step) |PC-9801FA, PC-H98 model90, PC-H98S
0420h|i487SX(A0 Step) |
0421h|i487SX(B0 Step) |
0422h|i486SX |PC-9801NA, PC-9821Ae・Ce (QFP)
0423h|i486SX SL Enhanced,5.0V|PC-9801BX3 (PGA)
0424h|i486SX SL Enhanced,3.3V|PC-9821Ne,PC-9801NS/A (SQFP)
0427h|i486SX(cA0 Step) |PC-486GR (QFP)
0428h|i486SX(cB0 Step) |PC-486SR (QFP)
042Ah|i486SX SL Enhanced,5V |PC-9821As2 (QFP)
0432h|i486DX2(A Step) |
0432h|ODP486SX(A2 Step) |
0433h|i486DX2(B Step) |PC-H98 model105, PC-9821Ap, PC-9801BA
0433h|ODP486SX(B1 Step) |
0435h|i486DX2 SL Enhanced,5V |PC-9801BA2,PC-9821Bp・Ap2 (PGA)
044xh|i486SL |ISA用Microprocessor Superset
045xh|i486SX2 |
0460h|i486SX(J) |PC-9801NS/R・P・NX/C・NL/R
0470h|i486DX2 WB Enhanced |PC-9821As3,PC-9801BA3
0480h|iDX4 75MHz,100MHz |PC-9821Xp・Np
043xh|AMD DX2 |参考
047xh|AMD DX2 WB |参考
048xh|AMD DX4 |参考
049xh|AMD DX4 WB |参考
041xh|UMC U5D (DX相当) |参考
042xh|UMC U5S (SX相当) |参考
A412h|IBM 486SLC |参考
A422h|IBM 486SLC2 |参考
0513h|Pentium 60MHz(PGA Sera)|PC-9821Af・Bf
0515h|Pentium 60MHz(PGA Gold)|PC-9821Cf
0521h|Pentium 90MHz(SPGA) |PC-9821An・Xt・Xa・Xn
0524h|Pentium 90MHz(TAB) |PC-9821Nf (FPUバグなし版)
153xh|ODP486DX2(P24T) |
-----+-----------------------+-------------------------------------
-----+------------------------+-------------------------------------
値 |Military i486 DX CPU |
-----+------------------------+-------------------------------------
0401h|i486DX(B3,B4,B5,B6 Step)|Military and Special Products IIより
0402h|i486DX(C0 Step) |
0404h|i486DX(D0 Step) |
0411h|i486DX(CB0 Step) |
-----+------------------------+-------------------------------------
* 表には、PC-9800シリーズに搭載されていないCPUも含めて収録した。
解説 o CPUリセット時のDXレジスタの値(CPU ID)を保持している。
u システム起動時、ITFからBIOSの初期化ルーチンに処理が移った直後、
BIOSは内部的にCPUのシャットダウン(リセット)を行う。そのときの
DXレジスタの値をこのアドレスに書き込む。
i386以降のCPUを搭載する機種のうち、PC-98XL^2だけはこのアドレスに
CPU IDを格納しない。表にはPC-98XL^2が出荷時に搭載していたCPUの
バージョンを記したが、実際にこの値が格納されるわけではない
(0000hを示す)。
u V30動作時とV30相当モードのとき、このアドレス値は0000h。ただし、
PC-9801NS・NS/E・NS/L・NS/Tだけは、V30相当モードでもi386モードと
同じようにCPU IDが格納される。
関連 I/O 00F0h
メモリ 0000:0488h
型 8bit FLAGS
名前 RDISK_EQUIP
分類 DISK BIOS,RAM DRIVE
対象 RAMドライブ搭載機(PC-98HA,DB-P1を含む)
内容 RAMドライブの接続状態
------+---------------
ビット|装置
------+---------------
bit 7 |640KB FD UNIT#3
bit 6 |640KB FD UNIT#2
bit 5 |640KB FD UNIT#1
bit 4 |640KB FD UNIT#0
bit 3 |1MB FD UNIT#3
bit 2 |1MB FD UNIT#2
bit 1 |1MB FD UNIT#1
bit 0 |1MB FD UNIT#0
------+---------------
1= RAMドライブ
0= 非RAMドライブまたはドライブなし
解説 o RAMドライブが、FDDのどのユニット番号のエミュレーションをしているかを
示す。
o BIOSでアクセス可能なFDDのユニット番号は、0000:055Ch
(FDD,SASI・ESDI HDDの接続状態)をチェックすればわかる。しかし、
その領域を調べるだけでは、あるドライブがFDDなのかRAMドライブ
なのかを区別することはできない。
RAMドライブは媒体交換ができないので、アプリケーションからRAMドライブを
区別したいときがある。そのようなとき、このビットを調べればRAMドライブか
FDDかを区別することができる。
o RAMドライブでも、同時に0000:055Chの対応する装置番号のビットが1になる。
関連 0000:0400h bit 7
0000:055Ch
メモリ 0000:0489〜048Dh
型 5 BYTES
名前
分類 DISK BIOS,RAM DRIVE
Undocumented
対象 RAMドライブ搭載機(PC-98HA,DB-P1を除く)
内容 RAMドライブBIOSワーク(ジャンプコード)
解説 o RAM DRIVE BIOSからROM BIOS内のDISK BIOSエントリにFARジャンプ
するためのコード。
関連
メモリ 0000:048Eh
型 BYTE
名前
分類 DISK BIOS,RAM DRIVE
Undocumented
対象 RAMドライブ搭載機(PC-98HA,DB-P1を含む)
内容 RAMドライブBIOSワーク
--------+-----------------------------------------------
ビット |
--------+-----------------------------------------------
bit 7 |RAMドライブBIOS処理中フラグ(PC-9801NS/Tを除く)
| 1= 処理中
| 0= 処理中ではない
bit 6〜4|I/O 0E8Ehに出力する値(SMM搭載機)
| I/O 0E8Ehに出力する値が80〜FFhのとき、
| その値を保持している。
bit 3 |FDDドライブBIOS処理中フラグ(PC-9801N・NS,PC-98HA,DB-P1を除く)
| 1= 処理中
| 0= 処理中ではない
bit 2 |RAMドライブ番号(PC-9801N・NS,PC-98HA,DB-P1を除く)
| 1= RAM DIRVEはユニット#0(FDDはユニット#1)
| 0= RAM DIRVEはユニット#1(FDDはユニット#0)
bit 1,0 |両用BIOS I/Fモード
| 10b= 1MB I/Fモード
| 01b= 640KB I/Fモード
|* PC-98HA,DB-P1は常に01b。
--------+-----------------------------------------------
解説 o RAMドライブの各種ステータスを格納する。
関連 I/O 0E8Eh
メモリ 0000:048Fh
型 BYTE
名前
分類
対象
内容 未使用
解説
関連
メモリ 0000:0490h〜0491h
型 WORD
名前
分類 BEEP
Undocumented
対象 ハイレゾ
内容 INT 18h - Function 17hのビープ音程(単位:8253Aの分周値)
--------------+------
タイマクロック|初期値
--------------+------
2MHz |03E6h
2.5MHz |04CDh
--------------+------
解説 o INT 18h - Function 17hで使用するビープ音程。INT 18h - Function 23h
(ブザー周波数の設定)の設定結果が格納される。
関連 INT 18h - Function 17h
INT 18h - Function 23h
メモリ 0000:0492h
型 8bit FLAGS
名前 DISK_RESET
分類 FD DISK BIOS
対象 両用BIOS
内容 両用FDリキャリブレイト要求フラグ
------+---------------
ビット|装置
------+---------------
bit 7 |640KB FD UNIT#3
bit 6 |640KB FD UNIT#2
bit 5 |640KB FD UNIT#1
bit 4 |640KB FD UNIT#0
bit 3 |1MB FD UNIT#3
bit 2 |1MB FD UNIT#2
bit 1 |1MB FD UNIT#1
bit 0 |1MB FD UNIT#0
------+---------------
1= リキャリブレイト要求あり
0= リキャリブレイト要求なし
解説 o アクセスモード(1MB/640KB)を変更したときなどに1にセットされる。
次回アクセス時、ビットが1のドライブに対してリキャリブレイトを
行う。リキャリブレイトが終了するとビットは0にリセットされる。
関連
メモリ 0000:0493h
型 8bit FLAGS
名前 F2HD_MODE
分類 DISK BIOS
対象 両用BIOS - 1MB I/Fモード
内容 640KB FDDのアクセスモード
[INT 1Bh - Function 8Eh(FD)の設定値]
bit 7: 640KB FDD UNIT#3
bit 6: 640KB FDD UNIT#2
bit 5: 640KB FDD UNIT#1
bit 4: 640KB FDD UNIT#0
1= 80シリンダ(2DD,1DD)
0= 40シリンダ(2D,1D)
[INT 1Bh - Function 0Eh(FD)の設定値]
bit 3: 640KB FDD UNIT#3
bit 2: 640KB FDD UNIT#2
bit 1: 640KB FDD UNIT#1
bit 0: 640KB FDD UNIT#0
1= 両面
0= 片面
* 初期値 = FFh(2DD/両面)
解説 o 両用BIOS - 1MB I/Fモード時の、INT 1Bh - Function 0Eh,8Ehの設定値を
格納する。
関連 0000:05CAh
INT 1Bh - Function 04h(FD)
INT 1Bh - Function 84h(FD)
INT 1Bh - Function 0Eh(FD)
INT 1Bh - Function 8Eh(FD)
メモリ 0000:0494h
型 8bit FLAGS
名前 DISK_EQUIP2
分類 DISK BIOS
対象 両用BIOS(ノーマル)
内容 両用BIOS・640KB I/Fモード時の外付1MBドライブ接続状態
bit 7〜4:ドライブの接続状況
1= 接続
0= 非接続
--------+----------------------
ビット |装置
--------+----------------------
bit 7 |ユニット#3 (DA/UA=F3h)
bit 6 |ユニット#2 (DA/UA=F2h)
bit 5 |ユニット#1 (DA/UA=F1h)
bit 4 |ユニット#0 (DA/UA=F0h)
bit 3〜0|未使用
--------+----------------------
解説 o 両用BIOS・640KB I/Fモード時の1MBドライブ接続状態を示す。
u このフラグは、以下の条件が全て成立したときだけセットされる。
- 本体の1MB FD I/Fコネクタに外付1MB FDが接続されている。
- 両用FD I/Fの設定が自動認識640KB I/Fモードである。
(DIP SW 3-1=OFF, 3-2 ON)
- 両用FD I/Fが640KB I/Fモードである。
(640KBメディアのシステムディスクか、FD以外の装置から起動したとき)
この条件に合致したときだけ、外付1MB FDDの接続状況がこのアドレスで
示される(MS-DOSからも利用できるようになる)。
両用FD I/Fが640KB I/Fモードのときに、本体の1MB FD I/Fコネクタに接続
された外付1MB FDがBIOSに認識されるのは、上記条件の場合に限られる。
o この場合の外付1MB FDDの接続状況は、0000:055Chのフラグには反映せず、
このアドレスでのみ接続を確認できる。
関連 0000:055Ch
メモリ 0000:0495h
型 BYTE
名前 GRAPH_CHG
分類 GRAPHICS
対象 GRCG,EGC搭載機
内容 GRCG/EGCモードレジスタ設定値
解説 o GRCG/EGCのモードレジスタの設定値。
GC/EGCに書き込みを行うプログラムは、必ず同時にこのアドレスにも
書き込みを行う必要がある。マウスドライバのように、割り込みルーチン内で
GRCG/EGCにアクセスするプログラムが、このアドレスの内容を参照して
GRCG/EGCのレジスタを復帰するからである。
o この値が0のときはGRCG/EGCは未使用。
関連 0000:0496h
I/O 007Ch[ノーマル]
I/O 00A4h[ハイレゾ]
メモリ 0000:0496〜0499h
型 4 BYTES
名前 GRAPH_TAL
分類 GRAPHICS
対象 GRCG,EGC搭載機
内容 GRCG/EGCタイルレジスタ設定値
--------+----------------
アドレス|内容
--------+----------------
0496h |タイルレジスタ#0
0497h |タイルレジスタ#1
0498h |タイルレジスタ#2
0499h |タイルレジスタ#3
--------+----------------
解説 o GRCG/EGCのタイルレジスタの設定値。
0000:0495h(GRCG/EGCモードレジスタ設定値)と同様に使用する。
関連 0000:0495h
I/O 007Eh[ノーマル]
I/O 00A6h[ハイレゾ]
メモリ 0000:049A〜04ABh
型 18 BYTES
名前
分類 BRANCH BIOS
Undocumented
対象 PC-9864初代・U + ノーマル
内容 オリジナルINT B1h/INT 1Bh/INT 1AhエントリへのFARジャンプコード
-----------+----------------------------------------------
アドレス |内容
-----------+----------------------------------------------
049A〜049Fh|オリジナルINT B1hエントリへのFARジャンプコード
04A0〜04A5h|オリジナルINT 1BhエントリへのFARジャンプコード
04A6〜04ABh|オリジナルINT 1AhエントリへのFARジャンプコード
-----------+----------------------------------------------
解説 o BRANCH 4670 BIOS動作時、オリジナルINT B1h/INT 1Bh/INT 1Ahエントリへの
FARジャンプコードが格納される。
関連 0000:0400h bit 0
0000:041E〜0443h
0000:0480h bit 5
0000:05E5〜05E7h
F800:7FE0h
メモリ 0000:049Bh(DB-P1)
型 8bit FLAGS
名前
分類
Undocumented
対象 DB-P1
内容 INT 1Fh - Function B0h,B1h関連
bit 3: INT 1Fh - Function B0h,B1h実行中、I/O FEC6h bit 3の保存/復帰用
bit 2: INT 1Fh - Function B0h,B1h実行中、I/O FEC6h bit 2の保存/復帰用
1= 表示画面プレーン1
0= 表示画面プレーン0
解説 o 詳細不明。
関連 INT 1Fh - Function B0h
I/O FEC6h
メモリ 0000:049C〜04A1h(DB-P1)
型 6 BYTES
名前
分類 KEYBOARD BIOS
Undocumented
対象 DB-P1
内容 キーボードハンドラのワークエリア
-----------+-------------------------------------------------
アドレス |内容
-----------+-------------------------------------------------
049Ch(BYTE)|不明。初期値=08h。
049Dh(BYTE)|キーボードI/F用8251A(I/O 0041h)エミュレーション用
049Eh(WORD)|キー押下状態フラグ(1=ON, 0=OFF)
| bit 13:ワークエリア
| bit 8:[取消]
| bit 7:[目次]
| bit 6:[機能]
| bit 5:[次頁]
| bit 4:[前頁]
| bit 3:[↑]
| bit 2:[←]
| bit 1:[→]
| bit 0:[↓]
04A0h(WORD)|不明。初期値=0000h
-----------+-------------------------------------------------
初期値 = 08h,FFh,00h,00h,00h,00h
解説 o キーボードハンドラが使用するワークエリア。
o DB-P1は、キーボードI/F用8251A(I/O 0041h)を持たないが、PC-98HAとの
互換性のため、0000:049DhをI/O 0041hに見立てて内部の処理を行って
いる。INT 09hハンドラで使用。
o INT 18h - Function 04h Subfunction FFhは、DB-P1の全キーの状態を
一度に取得できる。このファンクションは、実際には0000:049Ehの値を
返しているだけである。
関連 INT 18h - Function 04h Subfunction FFh
メモリ 0000:04A2〜04A3h(DB-P1)
型 2 BYTES
名前
分類 DISK BIOS
Undocumented
対象 DB-P1
内容 DISK BIOSのワークエリア
-----------+-----------------------------------------------------
アドレス |内容
-----------+-----------------------------------------------------
04A2h(BYTE)|両用FD I/F切り換えポート(I/O 00BEh)エミュレーション用
| 初期値=0Eh
04A3h(BYTE)|不明。初期値=0Ch。
-----------+-----------------------------------------------------
解説 o DISK BIOSが使用するワークエリア。
o DB-P1は、両用FD I/F切り換えポート(I/O 00BEh)を持たないが、PC-98HAとの
互換性のため、0000:04A2hをI/O 00BEhに見立てて内部の処理を行って
いる。
関連
メモリ 0000:04A4h(DB-P1)
型 8bit FLAGS
名前
分類
Undocumented
対象 DB-P1
内容 INT 1Fh - Function 92h(DB-P1)関連
bit 7: INT 1Fh - Function 92h Subfunction 02h,03hでセット/クリア
bit 0: INT 1Fh - Function 92hでセット/クリア
解説 o 詳細不明
関連 INT 1Fh - Function 92h(DB-P1)
メモリ 0000:04A5〜04A6h(DB-P1)
型 2 BYTES
名前
分類
Undocumented
対象 DB-P1
内容 INT 0Ahハンドラで使用
-----------+-----------------------------------------------------
アドレス |内容
-----------+-----------------------------------------------------
04A5h(BYTE)|不明。初期値=00h。
04A6h(BYTE)|不明。初期値=00h。INT 70h関連。
-----------+-----------------------------------------------------
解説 o 詳細不明。
関連 INT 0Ah(外部割り込み…LT・HA)
メモリ 0000:04A7h(DB-P1)
型 8bit FLAGS
名前
分類
Undocumented
対象 DB-P1
内容 INT 1Fh - Function 92h(DB-P1)関連
bit 3: INT 1Fh - Function 92hでチェック
bit 2: INT 1Fh - Function 92hでチェック
解説 o 詳細不明。
関連 INT 1Fh - Function 92h(DB-P1)
メモリ 0000:04AC〜04AFh
型 DWORD
名前 XROM_PTR
分類 DISK BIOS
対象 ノーマル,ハイレゾ,PC-98LT・HA,DB-P1
内容 拡張DISK BIOSのジャンプ先アドレス格納用ワークエリア
解説 o 本体内BIOSのINT 1Bhハンドラから拡張ROM BIOSにFARジャンプするとき、
ジャンプ先アドレスを格納するために使用する。
関連 0000:04B0h
メモリ 0000:04B0〜04BFh
型 16 BYTES
名前 DISK_XROM
分類 DISK BIOS
対象 ノーマル,ハイレゾ,PC-98LT・HA,DB-P1
内容 拡張DISK BIOSテーブル
--------+----------------------------------------------
アドレス|内容
--------+----------------------------------------------
04B0h |DA/UA=0xhの拡張DISK BIOSのセグメント(上位8bit)
04B1h |DA/UA=1xhの拡張DISK BIOSのセグメント(上位8bit)
04B2h |DA/UA=2xhの拡張DISK BIOSのセグメント(上位8bit)
04B3h |DA/UA=3xhの拡張DISK BIOSのセグメント(上位8bit)
04B4h |DA/UA=4xhの拡張DISK BIOSのセグメント(上位8bit)
04B5h |DA/UA=5xhの拡張DISK BIOSのセグメント(上位8bit)
04B6h |DA/UA=6xhの拡張DISK BIOSのセグメント(上位8bit)
04B7h |DA/UA=7xhの拡張DISK BIOSのセグメント(上位8bit)
04B8h |DA/UA=8xhの拡張DISK BIOSのセグメント(上位8bit)
04B9h |DA/UA=9xhの拡張DISK BIOSのセグメント(上位8bit)
04BAh |DA/UA=Axhの拡張DISK BIOSのセグメント(上位8bit)
04BBh |DA/UA=Bxhの拡張DISK BIOSのセグメント(上位8bit)
04BCh |DA/UA=Cxhの拡張DISK BIOSのセグメント(上位8bit)
04BDh |DA/UA=Dxhの拡張DISK BIOSのセグメント(上位8bit)
04BEh |DA/UA=Exhの拡張DISK BIOSのセグメント(上位8bit)
04BFh |DA/UA=Fxhの拡張DISK BIOSのセグメント(上位8bit)
--------+----------------------------------------------
解説 o 拡張DISK BIOSのROMアドレスを示すテーブル。
拡張DISK BIOSが組み込まれると、そのBIOSがサポートするDA/UAに対応する
アドレスに、BIOSセグメントの上位8ビットが設定される。
たとえば、SCSI I/Fを実装したときには、SCSI BIOSがDA/UA=2xh,Axh,Cxhを
サポートするので、04B2h,04BAh,04BChにSCSI BIOSセグメント(通常CC00h)の
上位8ビットの値(CCh)がセットされる。
拡張DISK BIOSが組み込まれていないDA/UAは00h。
u 本体内のINT 1Bhハンドラは、処理の最初でこのテーブルをチェック
する。AL(DA/UA指定)の値を元に、拡張DISK BIOSが登録されているかどうかを
調べる。
登録されていた場合は、その拡張DISK BIOSのオフセット0018hにFARジャンプ
する。登録されていない場合は、本体内DISK BIOSが処理を行う。本体内
DISK BIOSもサポートしていないDA/UAが指定された場合は、エラーで終了
する。
u PC-9801初代の本体内BIOSは、拡張DISK BIOS(拡張ROM)を認識する機能を持って
いない。しかし、PC-9801-08(PC-9801初代専用2DD FD I/F)付属のROMを
本体内のソケットに実装したときは、拡張DISK BIOSを認識できる
ようになる。このとき、この拡張DISK BIOSテーブルを使用する。
u このテーブルは、拡張ROM(拡張DISK BIOS)内の初期化ルーチンが設定する。
リセット後、本体内BIOS(PC-9801初代を除く)は初期化処理の中で、
ジャンプテーブルを持つ拡張ROMの有無をチェックする。ジャンプテーブルを
持つ拡張ROMが存在していると判断すると、本体内BIOSは拡張ROMのジャンプ
テーブル内にある初期化ルーチンのエントリ3箇所(オフセット000Ch,000Fh,
0012h)を順次FAR CALLする。拡張ROMがDISK BIOSを拡張するものであるなら
(つまり拡張DISK BIOSなら)、拡張ROMは初期化ルーチンのなかで、この
拡張DISK BIOSテーブルを設定する。
関連 0000:04ACh
0000:04C0h
メモリ 0000:04C0〜04F3h
型 52 BYTES
名前 XROM_ID
分類 ノーマル,ハイレゾ
対象 ハイレゾ(PC-98XAを除く)
内容 拡張ROM IDテーブル
■ハイレゾ(PC-98XAを除く)
-----------+-----------------
アドレス |内容
-----------+-----------------
04C0h |E6000h 拡張ROM ID
04C1h |E7000h 拡張ROM ID
04C2h |E8000h 拡張ROM ID
04C3h |E9000h 拡張ROM ID
04C4h |EA000h 拡張ROM ID
04C5h |EB000h 拡張ROM ID
04C6h |EC000h 拡張ROM ID
04C7h |ED000h 拡張ROM ID
04C8h |EE000h 拡張ROM ID
04C9h |EF000h 拡張ROM ID
04CA〜04CFh|未使用
-----------+-----------------
■ノーマル
-----------+-----------------
アドレス |内容
-----------+-----------------
04D0h |D0000h 拡張ROM ID
04D1h |D1000h 拡張ROM ID
04D2h |D2000h 拡張ROM ID
04D3h |D3000h 拡張ROM ID
04D4h |D4000h 拡張ROM ID
04D5h |D5000h 拡張ROM ID
04D6h |D6000h 拡張ROM ID
04D7h |D7000h 拡張ROM ID
04D8h |D8000h 拡張ROM ID
04D9h |D9000h 拡張ROM ID
04DAh |DA000h 拡張ROM ID
04DBh |DB000h 拡張ROM ID
04DCh |DC000h 拡張ROM ID
04DDh |DD000h 拡張ROM ID
04DEh |DE000h 拡張ROM ID
04DFh |DF000h 拡張ROM ID
-----------+-----------------
* PC-9801E・F・Mは、D8000h以降の拡張ROMを認識しないので
04D8〜04DFhを使用しない。
■PC-98XA
-----------+-----------------
アドレス |内容
-----------+-----------------
04E0〜04E5h|未使用
04E6h |E6000h 拡張ROM ID
04E7h |E7000h 拡張ROM ID
04E8h |E8000h 拡張ROM ID
04E9h |E9000h 拡張ROM ID
04EAh |EA000h 拡張ROM ID
04EBh |EB000h 拡張ROM ID
04ECh |EC000h 拡張ROM ID
04EDh |ED000h 拡張ROM ID
04EEh |EE000h 拡張ROM ID
04EFh |EF000h 拡張ROM ID
04F0h |F0000h 拡張ROM ID
04F1h |F1000h 拡張ROM ID
04F2h |F2000h 拡張ROM ID
04F3h |F3000h 拡張ROM ID
-----------+-----------------
拡張ROM IDの意味
--------+------------------------------------------------
ビット |内容
--------+------------------------------------------------
bit 7 |拡張ROMの有無
| 1=あり
| 0=なし
bit 6 |ジャンプテーブルの有無
| 1=あり
| 0=なし(4Kバイトを超える拡張ROMの4Kバイト以降の領域)
bit 5〜0|拡張ROM識別コード
|拡張ROMに与えられた00〜3Fhの値
|(ROM毎にユニークな値とは限らない)
--------+------------------------------------------------
拡張ROM IDと製品名
---------------+-----------------------------------------------------
拡張ROM ID |製品名
---------------+-----------------------------------------------------
C0h,80h,80h,80h|PC-9801NのD8000hバンク
C2h,82h |PC-9801-55初代・L・U,PC-9801-92・100,PC-H98-B03・B12
|(上記製品と互換の内蔵型含む)
C6h,86h,86h,86h|PC-9864-02,PC-9864L
D0h,90h,90h,90h|PC-9801NVのD8000hバンク
D9h |PC-9801-27,PC-9801VX4内蔵SASI BIOS
E9h,A9h |PC-H98/70-B02(内蔵ESDI)BIOS
E9h |PC-9801VX4,PC-98XL(ノーマル)以降の内蔵SASI BIOS
EAh,AAh,AAh,AAh|PC-9801NS・UR・USのD8000hバンク, PC-9821の内蔵IDE BIOS
FAh,BAh,BAh,BAh|PC-9801NS/E・NC・NS/T・NL・NS/L・NA・NS/R・P・NX/C・NS/A・NL/R,
|PC-9821NeのD8000hバンク
---------------+-----------------------------------------------------
* 拡張ROM ID欄に複数の値が記述されている場合、そのROMは表の順序で
拡張ROM IDテーブルに値を格納することを示す。つまり、そのROMは
<値の個数>×4Kバイトの領域を占有することになる。
* ここに挙げた拡張ROM IDは、筆者が確認できたものだけである。
解説 o ジャンプテーブルを持つ拡張ROMの有無を示すテーブル。
拡張ROM領域にジャンプテーブルを持つ拡張ROMが配置されているとき、
拡張ROM IDテーブル内の対応するアドレスが00h以外の値に設定される。
たとえば、PC-9821にIDE HDを実装したときには、IDE BIOSがD8000〜DBFFFhを
占有するので、04D8〜04DBhにEAh,AAh,AAh,AAhがセットされる。
o 全ての拡張ROMがジャンプテーブルを持つとは限らない。ジャンプテーブルを
持たない拡張ROMには、サウンドBIOS ROM(PC-9801-26・86等が搭載),
RS-232C BIOS ROM(PC-9861搭載),GP-IB BIOS ROM(PC-9801-29等が搭載)など
がある。
DISK BIOSを拡張するための拡張ROMは、必ずジャンプテーブルを持つ。また、
BRANCH 4670 BIOS ROM(PC-9864-02, PC-9864L・U搭載)もジャンプテーブルを
持つ。
o ノーマルモードでは、D0000〜DFFFFhの範囲で4K(1000h)バイト毎に拡張ROMの
存在をチェックする。ただし、PC-9801E・F・MはD0000〜D7FFFhの範囲しか
チェックしない。
o ハイレゾモードでは、E6000〜EFFFFhの範囲で4Kバイト毎に拡張ROMの存在を
チェックする。PC-98XAだけはF0000〜F3FFFhも拡張ROM領域として使用
することができる。
u このテーブルは、拡張ROM内の初期化ルーチンが設定する。
リセット後、本体内BIOS(PC-9801初代を除く)は初期化処理の中で、
ジャンプテーブルを持つ拡張ROMの有無をチェックする。ジャンプテーブルを
持つ拡張ROMが存在していると判断すると、本体内BIOSは拡張ROMのジャンプ
テーブル内にある初期化ルーチンのエントリ3箇所(オフセット000Ch,000Fh,
0012h)を順次FAR CALLする。拡張ROM IDは、オフセット000Chの初期化
ルーチン内で設定される。
u PC-9801初代の本体内BIOSは、拡張ROMを認識する機能を持っていないので、
このワークエリアを使用しない。PC-9801-08(PC-9801初代専用 2DD I/F)
付属のROMを本体内のソケットに実装したときは、拡張ROMを認識できるように
なるが、このワークエリアは使用しない。拡張ROMのジャンプテーブル内に
あるPC-9801初代専用の初期化ルーチンのエントリ(オフセット0000h)を
FAR CALLするのみだからである。
関連 0000:04B0h
メモリ 0000:04F0h〜04F7h
型 8 BYTES
名前
分類 RAM DRIVE BIOS
Undocumented
対象 PC-9801NS/E・NC・NS/T・NL・NS/L・NA・NS/R・P・NX/C
内容 RAM DRIVE BIOSワークエリア
解説 o 以下の2種類の用途で使用する。
- RAM DRIVE BIOSがRAMバンク内のチェックサム計算時にコードを
転送し、このアドレスで実行する。ROM上で実行するより高速になる
ためと考えられる。
- D8000hバンク内のプログラムがD8000hバンクを切り換えるときに使用
する。この領域にバンク切り換えのコード(OUT命令等)を書き込み、
この領域を実行してバンク切り換えを行い、(バンクの切り替わった)
D8000hバンクに実行を戻す。
o PC-9801N・NS・NV・NL/R・NS/A,PC-9821Neは、このアドレスを使用しない。
関連 0000:04F8h
メモリ 0000:04F1〜04F3h
名前
分類 ハイレゾタイマ
対象 カレンダ時計割り込み搭載機種
内容
bit 24〜0: 経過時間(単位1/32秒)
* 000000〜2A2FFFhの数値で表される。
解説 o 今日の日付になってからの経過時間を、1/32秒単位でカウントする。この
カウンタは起動時に初期化され、以後INT 17hによってインクリメントされる。
o 起動時に今日の日付になってからの時間が設定され、AM 0:00:00'00にカウン
タはオーバーフローし0に戻される。このときINT 1Fh - Function 8Fhが
実行され、アプリケーションに午前0時を告げる。このことからこのファンク
ション、INT 1Fh - Function 8Fhをシンデレラファンクションと命名する(嘘)
o PC-9821Xa10・Xa9・Xa7・Xt13・Xe10・Xa12・Xa7e・Cx2・Cb2・Na7・Nxに付属の
HRTIMER.SYSはMS-DOSのCLOCKデバイスを置き換え、このカウンタを利用して
1/100の桁の時刻を取得する機能を提供する。
関連 INT 17h
INT 1Ch - Function 80h,81h
INT 1Fh - Function 8Fh
I/O 000Ah bit 7
I/O 0128h
メモリ 0000:04F8h〜04FDh
型 6 BYTES
名前
分類
Undocumented
対象 ITF搭載機,
SCSI BIOS,
98NOTE(PC-9801N・NS・NS/Tを除く),
PC-9821Bp・Bs・Be・Bf,PC-9801BA2・BS2・BX2搭載IDE BIOS
内容 バンク切り換え時のコード格納用ワークエリア
解説 o ITFからBIOSに、またはBIOSからITFにバンク切り換えを行うときに使用する。
ITFとBIOSは同じアドレスに位置しているため、バンク切り換えを行う
ときは、CPUはバンク切り換えが起らない場所でコードを実行している
必要がある。バンク切り換えを行うときは、この領域にバンク切り換えの
コード(OUT命令等)を書き込み、この領域を実行してバンク切り換えを
行ったあと、BIOSまたはITFに実行を戻す。
o 同様に、SCSI BIOS,98NOTE(PC-9801N・NS・NS/Tを除く)のD8000hバンク,
一部のIDE BIOSでもバンク切り換えのときにこの領域を使用する。
o PC-H98のINT 1Fhの一部ファンクション実行時も、MENUバンクにコードが
あるため、この領域を使用する。
関連 0000:04F0h
メモリ 0000:04FEh(IDE)
型 WORD
名前
分類 IDE BIOS
Undocumented
対象 IDE HDD搭載機
内容 IDE HDDモータ始動時のウェイトカウンタ
解説 o IDE BIOSがIDE HDDに対してスピンドルモータ始動コマンドを送出したあと、
モータの回転が安定するまでの時間を計測するために使用する。モータの
回転が安定するまで、BIOSの処理は終了しない。
o 98NOTEのシステムタイマがこの値をデクリメントする。0000hでカウンタ
のデクリメントは終了する。
o デスクトップ機のIDE BIOSにはこの領域をゼロクリアする処理が残って
いるが、カウンタとしては使用しない。
関連 INT 0Eh(外部割り込み…98NOTE)
INT 17h(外部割り込み…98NOTE)
INT 1Bh - Function D0h(IDE)
INT 1Bh - Function E0h(IDE)
INT 1Bh - Function F0h(IDE)
メモリ 0000:04D0h〜04EFh(LT・HA)
型 32 BYTES
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA, DB-P1
内容 表示領域0〜3のパラメータ保存域
-----------+-----------------------------------------------------
アドレス |内容
-----------+-----------------------------------------------------
04D0〜04D7h|表示領域0のパラメータ保存域
04D8〜04DFh|表示領域1のパラメータ保存域
04E0〜04E7h|表示領域2のパラメータ保存域
04E8〜04EFh|表示領域3のパラメータ保存域
-----------+-----------------------------------------------------
パラメータの内容
----------+-----------------------------------------------------
オフセット|内容
----------+-----------------------------------------------------
+00h(WORD)|不明
+02h(BYTE)|不明
+03h(BYTE)|行数
+04h(WORD)|仮想テキストVRAMの表示開始オフセットアドレス
+06h(WORD)|不明
----------+-----------------------------------------------------
解説 o INT 18h - Function 0Eh,0Fh(1つの表示領域の設定,複数の表示領域の設定)
の設定内容の保存領域。
o DB-P1は、画面分割のファンクションを備えていないが、表示の際には
PC-98LT・HA同様にこの内容が参照される。
関連 INT 18h - Function 0Eh
INT 18h - Function 0Fh
メモリ 0000:04F0h(LT・HA)
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA,DB-P1
内容 カーソル描画制御フラグ
bit 7: カーソル幅
1= 全角
0= 半角
bit 6〜4: 未使用
bit 3: カーソル描画禁止通知
1= カーソル描画禁止
0= カーソル描画許可
bit 2: カーソルの反転状態
1= 反転状態
0= 非反転状態
bit 1: カーソル表示状態
1= カーソル表示
0= カーソル非表示
bit 0: カーソルブリンク状態
1= ブリンクあり
0= ブリンクなし
解説 o カーソル状態を格納するワークエリア。
o bit 3は、文字書き込み中のように、INT 0Ahハンドラがカーソルを
描画してはならないタイミングで1になる。
関連 INT 0Ah(外部割り込み…LT・HA)
INT 18h - Function 10h
INT 18h - Function 11h
INT 18h - Function 12h
メモリ 0000:04F1h(LT・HA)
型 BYTE
名前
分類 RS-232C BIOS
Undocumented
対象 PC-98LT・HA, DB-P1
内容 メモリスイッチ03hのコピー
解説 o RS-232C BIOSでbit 7の値(DEL受信時の処理)をチェックするために使用する。
u DB-P1も、PC-98LT・HAと同様にメモリスイッチ03hの値をコピーするが、
RS-232C BIOSがないので参照されない。
関連 メモリスイッチ 03h
メモリ 0000:04F2h(LT・HA)
型 WORD
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA, DB-P1
内容 カーソル位置(仮想テキストVRAM上のオフセットアドレス)
解説 o INT 18h - Function 13hで設定するカーソル位置を格納する。
関連 INT 18h - Function 13h
メモリ 0000:04F4〜04F7h(LT・HA)
型
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA, DB-P1
内容 エミュレーションVRAMのサイズとセグメントアドレス
-----------+----------------------------------------------------
アドレス |内容
-----------+----------------------------------------------------
04F4h(WORD)|エミュレーションVRAMのサイズ
04F6h(WORD)|エミュレーションVRAMのセグメントアドレス
-----------+----------------------------------------------------
解説 o INT 18h - Function 25h Subfunction 00h,01hで設定,取得する
エミュレーションVRAMのサイズとセグメントアドレスを格納する。
関連 INT 18h - Function 25h Subfunction 00h
INT 18h - Function 25h Subfunction 01h
メモリ 0000:04F8h(LT・HA)
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-98LT・HA,DB-P1
内容 電源制御関係のフラグ
bit 7:
■PC-98LT
NMIハンドラは、電源SWがOFF状態のときこのビットを1にする
■PC-98HA
POWER OFFフラグ
* INT 0Ahハンドラは、このビットが1のとき電源をOFFにする。
* NMIハンドラは、I/O 8810h bit 0=1(電源SWが押された)のとき
このビットを1にする。
* INT 1Fh - Function 98hは、このビットを1にする。
■DB-P1
NMIハンドラは、I/O FECCh bit 4=1のときこのビットを1にする。
bit 6:
■PC-98LT
POWER OFFフラグ
* INT 0Ahハンドラは、このビットが1のとき電源をOFFにする
(INT 1Fh - Function 98hを実行する)。
* NMIハンドラは、電源SWがOFF状態のとき、INT 1Fh - Function 8Chを
発行する。このとき、CF=0で戻ってきたらこのビットを1にする。
* INT 0Ahハンドラは、オートパワーオフ時間になったらこのビットを
1にする。
■DB-P1
POWER OFFフラグ
* INT 0Ahハンドラは、このビットが1のとき電源をOFFにする。
* INT 1Fh - Function 98hは、このビットを1にする。
bit 5: 能動状態フラグ[PC-98LT・HA,DB-P1]
1= 能動状態
0= 非能動状態
* INT 09h(キーボード割り込み), INT 1Bh(DISK BIOS), INT 0Ch(RS-232C)
ハンドラ等が1にセットする。INT 0Ahハンドラが1秒毎に0にリセット
する。無操作時アラーム,オートパワーオフカウンタは、このビットが
1のとき初期値に戻る。このビットが0のとき減算される。
bit 4: オートパワーオフフラグ[DB-P1]
* オートパワーオフのとき、bit 7と一緒に1(このバイトは90h)になる。
bit 3: 未使用
bit 2: 未使用
bit 1: BEEP ON要求[PC-98LT・HA]
1= 次のINT 0Ah発生時にBEEP ON
0= NOP
bit 0: BEEP OFF要求[PC-98LT・HA]
1= 次のINT 0Ah発生時にBEEP OFF
0= NOP
解説 o 電源制御関係のフラグ。
関連 INT 0Ah(外部割り込み…LT・HA)
メモリ 0000:04F9h(LT・HA)
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-98LT・HA
内容 無操作時アラーム制御関係のワークエリア
bit 7,6: 未使用
bit 5: 無操作時アラーム
1= 鳴動中
0= 非鳴動中
bit 4: 不明
bit 3〜0: ビープ関係のカウンタ
解説 o 詳細不明。
関連
メモリ 0000:04FAh(LT・HA)
型 BYTE
名前
分類
Undocumented
対象 PC-98LT・HA, DB-P1
内容 INT 0Ahハンドラのラウンドロビンカウンタ
解説 o ■PC-98LT
INT 0Ahハンドラ内で10種類の処理を1秒周期で実行するためのカウンタ。
10Hz周期でデクリメントされる。9,8,…,1,0,9,…を繰り返す。
o ■PC-98HA
INT 0Ahハンドラ内で10種類の処理を1秒周期で実行するためのカウンタ。
40Hz周期でデクリメントされる。39,38,…,1,0,39,…を繰り返し、
4回に1回、順次10種類の処理を行う。
o ■DB-P1
INT 0Ahハンドラ内で、2種類の処理を約1秒または約0.5秒周期で
実行するためのカウンタ。15.8Hz周期でデクリメントされる。
関連 INT 0Ah(外部割り込み…LT・HA)
メモリ 0000:04FBh(LT・HA)
型 BYTE
名前
分類
Undocumented
対象 PC-98LT・HA, DB-P1
内容 INT 0Ahハンドラの1分カウンタ
解説 o INT 0Ahハンドラ内で1分ごとに実行する処理のためのダウンカウンタ。
1Hz周期でデクリメントされる。59,58,…,1,0,59,…を繰り返す。
無操作時アラームカウンタやオートパワーオフカウンタをデクリメント
するために使用する。
関連 0000:04FCh
0000:04FDh
INT 0Ah(外部割り込み…LT・HA)
メモリ 0000:04FCh(LT・HA)
型 BYTE
名前
分類
Undocumented
対象 PC-98LT・HA
内容 無操作時アラームカウンタ(単位:分)
解説 o 能動状態(0000:04F8h bit 5=1)のとき、メモリスイッチ18hの値がコピー
される。非能動状態(0000:04F8h bit 5=0)のとき、1分ごとにこの値が
デクリメントされる。0になるとブザーが鳴る。
何らかの操作を行うと、この値は初期値(メモリスイッチ18hの値)に戻る。
元の値が0のとき、この機能は働かない。
o DB-P1は使用しない。
関連 0000:04F8h bit 5
0000:04FBh
メモリ 0000:04FDh(LT・HA)
型 BYTE
名前
分類
Undocumented
対象 PC-98LT・HA, DB-P1
内容 オートパワーオフカウンタ(単位:分)
解説 o 能動状態(0000:04F8h bit 5=1)のとき、メモリスイッチ19hの値がコピー
される。非能動状態(0000:04F8h bit 5=0)のとき、1分ごとにこの値が
デクリメントされる。0になると電源がOFFする。
元の値が0のとき、この機能は働かない。
u PC-98LTでは、オートパワーオフ機能自体が未公開である。
o DB-P1では、INT 1Fh - Function 9Bhを実行すると、メモリスイッチ19hの
値がコピーされる。
関連 0000:04F8h bit 5
0000:04FBh
INT 1Fh - Function 9Bh(DB-P1)
メモリ 0000:04FEh(LT・HA)
型 WORD
名前
分類
Undocumented
対象 PC-98LT・HA
内容 INT 0Ahの10Hz 16ビットダウンカウンタ
解説 o この値が0000h以外のとき、INT 0Ahハンドラは10Hz周期でデクリメント
する。0000hになると、デクリメントを中止する。
o BIOSは、この値を参照する処理をなにも行っていない模様。
関連 INT 0Ah(外部割り込み…LT・HA)
メモリ 0000:0500h
型 8bit FLAGS
名前 BIOS_FLAG
・bit 7
分類
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 スタートアップタイプ
1= ホットスタート
0= コールドスタート
解説 o STOPキーを押しながらリセットして起動したとき1になる。
関連
・bit 6
分類
対象 ノーマル,PC-98LT・HA
内容 BASICタイプ
1= DISK BASIC,MS-DOS版BASIC実行中とその子プロセス
0= ROM BASIC,MS-DOS,その他OS実行中
解説 o 実行中のBASICの種類を示す。
関連
・bit 5
分類 KEYBOARD BIOS
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 キーバッファオーバーフロー通知制御
1= キーバッファオーバーフロー時にビープを鳴らさない
0= キーバッファオーバーフロー時にビープを鳴らす(初期状態)
解説 o キーボードバッファがオーバーフローしたときに警告ビープ音を
鳴らすかどうか設定する。
関連
・bit 4
分類 MEMORY
対象 ノーマル
内容 00000〜9FFFFh(640KB-1)番地内の増設RAMの有無
1= あり
0= なし
解説 o 00000〜9FFFFh(640KB-1)番地内で拡張スロットに実装した増設RAMが
あるとき1になる。
関連
・bit 3
分類
Undocumented
対象
内容 未使用
解説 o 一部の資料にはVSYNC中にこのビットが1になると記述されているが、
実際には、BIOSがVSYNC処理で利用するのは0000:053Ch bit 6である。
関連
・bit 2
分類 DISK BIOS
対象 両用BIOS - 640KB I/Fモード
内容 両用FD I/F - 640KB I/Fモード時のAIの有無
1= AI Enable
0= AI Disable
解説 o このビットは、DISK BIOSでセットおよび読み出しはできるが、
ビットのクリアはできない。
関連 INT 1Bh - Function 83h(FD)
INT 1Bh - Function 84h(FD)
・bit 1
分類 DISK BIOS
対象 両用BIOS + ノーマル
内容 両用FD I/Fモード
1= 1MB I/Fモード
0= 640KB I/Fモード
解説 o ハイレゾモードの両用FD I/Fは、1MB I/Fモードに固定されている。
o PC-98LT・HA,DB-P1の両用FD I/Fは、640KB I/Fモードに固定されている。
関連
・bit 0
分類 機種判別
対象 全機種
内容 機種情報(1)
1= その他
0= PC-9801初代・E・F・M, PC-98LT・HA, DB-P1, ハイレゾモード
解説 o 他のビットと組み合わせて、以下のような機種判別が行える。
------------+----------------------------------
機種情報 |意味
(1)(2)(3)(4)|
------------+----------------------------------
0 0 0 0 |PC-9801初代
0 1 0 0 |PC-9801E・F・M
1 1 1 0 |PC-9801U
1 1 0 0 |ノーマル(PC-9801初代・E・F・M・U以外)
0 0 0 1 |PC-98XA
0 1 0 1 |ハイレゾ(PC-98XA以外)
0 1 1 0 |PC-98LT・HA,DB-P1
------------+----------------------------------
機種情報(1) = 0000:0500h bit 0
機種情報(2) = 0000:0501h bit 5
機種情報(3) = 0000:0501h bit 4
機種情報(4) = 0000:0501h bit 3
関連 0000:0501h bit 5〜3
メモリ 0000:0501h
型 8bit FLAGS
名前 BIOS_FLAG
・bit 7
分類
対象 全機種
内容 システムクロック周波数
1= 8MHz
0= 5MHz,10MHz
解説 o タイマ(8251A)に供給されているクロック、および拡張スロットの
SCLK1信号の周波数を示す。
o 正確なタイマクロック周波数は以下の通り。
--+--------------------
値|タイマクロック周波数
--+--------------------
1 |1.9968MHz
0 |2.4576MHz
--+--------------------
o 拡張スロットのSCLK1信号の周波数は、以下の通り。
--+--------------------
値|SCLK1周波数
--+--------------------
1 |7.9872MHz
0 |9.8304MHz(PC-9801初代・E・F・M以外)
0 |4.9152MHz(PC-9801初代・E・F・M)
--+--------------------
u CPUクロックが12MHz以上の機種の多くは、システムクロック周波数と
CPUクロック周波数は無関係になっている。
関連
・bit 6
分類 CPU判別
対象 全機種
内容 CPUタイプ
1= V30,V30HL,V50,V50HL,V33,V30相当モード
0= i8086, i80286, i386, i486, Pentium
解説 o 動作CPUを示す。ただし、V30を搭載していない機種でV30相当モードに
設定したときにも、このビットは1になる。
関連 CPU判別関係
・bit 5〜3
分類 機種判別
対象 全機種
内容 機種情報(2〜4)
bit 5: 機種情報(2)
1= その他
0= PC-9801無印,PC-98XA
bit 4: 機種情報(3)
1= PC-9801U, PC-98LT・HA, DB-P1
0= その他
bit 3: 機種情報(4)
1=ハイレゾモード
0=ノーマルモード,PC-98LT・HA,DB-P1
解説 o 0000:0500h bit 0の項を参照。
関連 0000:0500h bit 0
・bit 2〜0
分類 MEMORY
対象 全機種
内容 リアルモード用メモリサイズ
101b= 768KB
100b= 640KB
011b= 512KB
010b= 384KB
001b= 256KB
000b= 128KB
解説 o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の
アドレスに位置するRAM容量を示す。
o プロテクトモード用メモリのサイズは、0000:0401hと0000:0594hに
格納されている。
関連 0000:0401h
0000:0594h
メモリ 0000:0502〜0521h
型 32 BYTES
名前 KB_BUF(ノーマル),KB_KEY_BUFFER(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーバッファ
解説 o 入力されたキーの情報を2バイト一組で最大16組み格納するFIFO型バッファ。
INT 09hハンドラがキーボードI/Fから引き取ったデータを加工し、この
領域に書き込む。キーボードBIOS(INT 18h)は、この領域からデータを
取り出す。
o ハイレゾでは起動時のデフォルトキーバッファ。
関連 0000:0410h[ハイレゾ]
INT 09h(外部割り込み)
INT 18h - Function 00h
メモリ 0000:0522〜0523h
型 WORD
名前 KB_SHIFT_TBL
分類 KEYBOARD BIOS
対象 ノーマル,PC-98LT・HA,DB-P1
内容 キーコード変換テーブルのオフセット
解説 o 現在のシフト状態に従ったキーコード変換テーブルのオフセットを格納する。
キーコード変換テーブルのセグメントは、0000:05C6hの指すコード変換
テーブルと同じ。
o [SHIFT],[CTRL],[CAPS],[GRPH],[カナ]のON/OFFとともに、INT 09hハンドラが
書き換える。キーコードをキーデータに変換するために用いる。
関連 0000:05C6h
INT 09h(外部割り込み)
メモリ 0000:0522h
型 BYTE
名前 KB_BUFFER_SIZ
分類 KEYBOARD BIOS
対象 ハイレゾ
内容 キーバッファサイズ
初期値 = 10h
解説 o キーバッファに格納できるキー情報(2バイト一組)の個数。バッファは
このバイトで指定した値の2倍のサイズが必要。
関連 0000:0410h
INT 09h(外部割り込み)
INT 18h - Function 06h
メモリ 0000:0524〜0525h
型 WORD
名前 KB_BUF_HEAD(ノーマル),KB_HEAD_POINTER(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーバッファのリードポインタ
解説 o キーバッファの格納済みエリアの先頭オフセットアドレス。
o ハイレゾのとき、セグメントは0000:0410h(KB_BUF_ADR)の指すセグメントと
同じ。
関連 0000:0410h[ハイレゾ]
0000:0502h
INT 09h(外部割り込み)
メモリ 0000:0526〜0527h
型 WORD
名前 KB_BUF_TAIL(ノーマル),KB_TAIL_POINTER(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーバッファのライトポインタ
解説 o キーバッファの格納済みエリアの最終オフセットアドレス+2。
o ハイレゾのとき、セグメントは0000:0410h(KB_BUF_ADR)の指すセグメントと
同じ。
関連 0000:0410h[ハイレゾ]
0000:0502h
INT 09h(外部割り込み)
メモリ 0000:0528h
型 BYTE
名前 KB_COUNT(ノーマル),KB_BUFFER_COUNTER(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーバッファ内のデータ数
解説 o キーバッファに格納されているデータの個数。
関連 0000:0410h[ハイレゾ]
0000:0502h
INT 09h(外部割り込み)
メモリ 0000:0529h
型 BYTE
名前 KB_RETRY(ノーマル),KB_RETRY_COUNTER(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーボードI/Fの受信エラーリトライ回数
解説 o INT 09hハンドラがキーボードI/Fからデータを受信したときエラーが
検出されると、キーボードに対しデータ再送信を要求する。INT 09h
ハンドラは、3回まで再送信を要求し、それでもエラーが起きるときは、
受信したデータをそのまま処理する。
関連 INT 09h(外部割り込み)
I/O 0041h
メモリ 0000:052A〜0539h
型 16 BYTES
名前 KB_KY_STS(ノーマル),KB_KEY_STS_TBL(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 キーの押下状態テーブル
-----+-------+-------+-------+-------+-------+-------+-------+-------
アドレス|bit 7 |bit 6 |bit 5 |bit 4 |bit 3 |bit 2 |bit 1 |bit 0
-----+-------+-------+-------+-------+-------+-------+-------+-------
052Ah|7' |6& |5% |4$ |3# |2" |1! |ESC
|ヤャ |オォ |エェ |ウゥ |アァ |フ |ヌ |
052Bh|TAB |BS |¥| |^` |-= |0 |9) |8(
| | |ー |ヘ |ホ |ワヲ |ヨョ |ユュ
052Ch|I |U |Y |T |R |E |W |Q
|ニ |ナ |ン |カ |ス |イ |テ |タ
052Dh|D |S |A |リターン |[{ |@‾ |P |O
|シ |ト |チ | | | |セ |ラ
052Eh|:* |;+ |L |K |J |H |G |F
|ケ |レ |リ |ノ |マ |ク |キ |ハ
052Fh|M |N |B |V |C |X |Z |}]
|モ |ミ |コ |ヒ |ソ |サ |ツッ |ム」
0530h|ROLL |ROLL |XFER |スペース |_ |/? |.> |,<
|DOWN |UP | | |ロ |メ・ |ル。 |ネ。
0531h|HELP |HOME |↓ |→ |← |↑ |DEL |INS
| |CLR | | | | | |
0532h|5 |4 |* |9 |8 |7 |/ |-
| | | | | | | |
0533h|, |0 |= |3 |2 |1 |+ |6
| | | | | | | |
0534h| |vf・5 |vf・4 |vf・3 |vf・2 |vf・1 |NFER |.
| | | | | | | |
0535h| |HOME | |子音シフト|母音シフト|記号シフト|NUM |
| | | | | | | |
0536h|f・6 |f・5 |f・4 |f・3 |f・2 |f・1 |COPY |STOP
| | | | | | | |
0537h| | | | |f・10 |f・9 |f・8 |f・7
| | | | | | | |
0538h| | | |CTRL |GRPH |カナ |CAPS |SHIFT
| | | | | | | |
0539h| | | | | | | |
-----+-------+-------+-------+-------+-------+-------+-------+-------
* 押下されているキーに対応するビットが1になる。
* [子音シフト],[母音シフト],[記号シフト],[NUM]は、PC-9801-98(楽々キーボード)の
「自動変換モード」のみ。NOTEなどの[NUM]キーの押下状態は、このテーブル
には反映しない。
解説 o キーバッファとは無関係に、現在のキーの押下状態を示す。
INT 09hハンドラは、キーボードI/Fの8251Aから読み出したデータに
基づいて、このテーブル内のビットをセット/リセットする。
INT 18h - Function 04h(キー入力状態のセンス)は、このテーブルの値を
返している。
u PC-9800のキーボードは、押し続けるとキーボード側でリピートを行う
ため、キーが押されているにもかかわらず、このテーブル内のビットが
0になる期間がある。なお、シフト系キー、ファンクションキー、
[INS]キーはリピートを行わない。
「PC-9801スーパーテクニック」(アスキー出版局刊)キーボード編に
リピートに関する詳細な記述がある。
o 本来その機種が持っていないキーを押したとき(旧キーボード用の機種
に新キーボードを繋いでvfキーを押すなど)、キーバッファにはデータが
格納されないが、このテーブルには押下状態が反映される。
o ハイレゾモードで、シフトキーコードテーブル(0000:0408〜040Fh)、
キーデータ変換テーブル(0000:0414hの指すアドレス)を変更しても、
このテーブルの示す動作には影響を与えない。
関連 INT 09h(外部割り込み)
INT 18h - Function 04h
メモリ 0000:053Ah
型 8bit FLAGS
名前 KB_SHFT_STS(ノーマル),KB_SHIFT_STS(ハイレゾ)
分類 KEYBOARD BIOS
対象 全機種
内容 シフトキー押下状態フラグ
bit 7:
bit 6:
bit 5:
bit 4: [CTRL]
bit 3: [GRPH]
bit 2: [カナ]
bit 1: [CAPS]
bit 0: [SHIFT]
1= 押されている
0= 押されていない
解説 o 現在のシフト系キー([CTRL],[GRPH],[カナ],[CAPS],[SHIFT])の押下状態を
示す。INT 09hハンドラがセット/リセットする。
INT 18h - Function 02h(シフトキー状態のセンス)は、この値を返している。
o ハイレゾの場合、シフトキーコードテーブル(0000:0408〜040Fh)に登録された
キーが押されたとき、対応するビットが1になる。
関連 0000:0408〜040Fh[ハイレゾ]
INT 09h(外部割り込み)
INT 18h - Function 02h
メモリ 0000:053Bh
型 BYTE
名前 CRT_RASTER
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 テキスト画面1行あたりのラスタ数-1
表 画面状態と設定値の対応
---------+--------+--------+----+----+-------------------------
CRT解像度|水平走査|垂直同期|テキスト|ラスタ |備考
| 周波数| 周波数|行数|数-1|
---------+--------+--------+----+----+-------------------------
640x200 |15.98kHz| 61.47Hz| 20 |09h |*1
↑ | ↑ | ↑ | 25 |07h |
640x400 |24.83kHz| 56.42Hz| 20 |13h |*2
↑ | ↑ | ↑ | 25 |0Fh |
640x400 |31.47kHz| 70.10Hz| 20 |13h |*3
↑ | ↑ | ↑ | 25 |0Fh |
640x480 |31.47kHz| 59.94Hz| 20 |17h |*4
↑ | ↑ | ↑ | 25 |12h |
↑ | ↑ | ↑ | 30 |0Fh |
1120x750 |32.86kHz| 79.09Hz| 25 |0Eh |*5
↑ | ↑ | ↑ | 31 |0Bh |
1120x750 |50.02kHz| 60.05Hz| 25 |1Dh |*6
↑ | ↑ | ↑ | 31 |17h |
640x480 |15.73kHz| 59.94Hz| 20 |09h |*7 グラフィック解像度640x400時
↑ | ↑ | ↑ | 20 |0Bh | グラフィック解像度640x480時
↑ | ↑ | ↑ | 25 |07h | グラフィック解像度640x400時
↑ | ↑ | ↑ | 30 |07h | グラフィック解像度640x480時
---------+--------+--------+----+----+-------------------------
*1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT信号。
PC-8001用ディスプレイを接続するときの設定。
*2:ノーマルモードの最も標準的なCRT信号。
*3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4で、
[GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型
ディスプレイを接続して行間空き25行表示していないときのノーマル
モードのCRT信号。
PC-9821CeはBIOSで設定可能。PC-9821Ne・Np・Tsは設定不可能。
*4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く),PC-98GSで640x480表示時と、
PC-H98にN5926-01・02型ディスプレイを接続して行間空き25行表示した
ときのノーマルモードのCRT信号。
*5:PC-98XA・XL・RL等のハイレゾモード、PC-H98にN5926-01型ディスプレイを
接続したときのハイレゾモード、98ハイレゾボード(PC-9821A-E02)の
ハイレゾモードで[GRPH]+[1]+[RESET]設定を行ったときのCRT信号
(インターレース)。
*6:PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモードと、
98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET]
設定を行ったときのCRT信号(ノンインターレース)。
*7:PC-98GSでビデオモードに設定したときのCRT信号。
システム共通域の状態からは、垂直同期周波数56.42Hzの状態と区別
することはできない。
解説 o テキスト画面の1行分のラスタ数-1の値を示す。
CRT BIOSでテキスト画面行数を変更すると、この値も変化する。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連 0000:0452h[ハイレゾ]
INT 0Ah(外部割り込み…VSYNC)
INT 18h - Function 0Ah
INT 18h - Function 11h
INT 18h - Function 12h
INT 18h - Function 30h
メモリ 0000:053Ch
型 8bit FLAGS
名前 CRT_STS_FLAG
分類 CRT BIOS
対象 ノーマル
内容 テキスト画面ステータスフラグ
bit 7: CRTタイプ
1= 専用高解像度ディスプレイ(DIP SW 1-1 ON で起動時)
0= 標準ディスプレイ (DIP SW 1-1 OFFで起動時)
* PC-8001ディスプレイ用CRT信号(水平走査周波数=15.98kHz,
垂直同期周波数=61.47Hz)出力時に0。その他のCRT信号出力時は1。
関連 0000:054Ch bit 6
INT 0Ah(外部割り込み…VSYNC)
DIP SW 1-1
bit 6: VSYNC検出(Undocumented)
1= VSYNC待ち状態
0= VSYNC内処理終了状態
* INT 18h - Function 0Ah,0Eh,0Fh,10h,14h,1Ah,1Ch,1Dh,1Eh,1Fh,20hの
VSYNC待ちルーチンで使用する。フォントの読み出しなど、BIOS内で
VSYNCに同期した処理を行う場合、割り込み処理ルーチンは処理の終了を
このビットを用いて通知する。
たとえば、フォントの読み出しを行う場合、実際の読み出しはVSYNC
割り込み処理ルーチン内で行われる。割り込みルーチン内での処理が
終了すると、このビットを0にしてメインルーチンに通知する。メイン
ルーチンはこのフラグをチェックし続けることで処理の終了を認識
する。
関連 0000:0500h bit 3
bit 5: 未使用
bit 4: 行数[PC-98GS,PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)]
(Undocumented)
1= 30行
0= 20/25行(起動時設定)
bit 3: K-CG(漢字キャラクタジェネレータ)アクセスモード
1= ドットアクセス
0= コードアクセス(起動時設定)
* PC-9801初代では無効(常にコードアクセス状態)
bit 2: アトリビュートモード
1= 簡易グラフィックス(起動時設定)
0= バーティカルライン
* BIOSが設定する初期値は簡易グラフィックモードだが、
MS-DOS起動後はバーティカルラインモードに設定されている。
bit 1: 桁数
1= 40桁(DIP SW 2-3 OFF時の起動時設定)
0= 80桁(DIP SW 2-3 ON 時の起動時設定)
bit 0: 行数
1= 20/30行
0= 25行
-----+-----+----+------------------------------------
bit 4|bit 0|行数|備考
-----+-----+----+------------------------------------
0 | 1 |20行|DIP SW 2-4 OFF時の起動時設定
0 | 0 |25行|DIP SW 2-4 ON 時の起動時設定
1 | 1 |30行|640x480表示時のみ設定可能
1 | 0 |--- |未使用
-----+-----+----+------------------------------------
解説 o INT 18h - Function 0Ah(ノーマル),0Bh(ノーマル)の設定値保存域。
bit 4,0は、INT 18h - Function 30hで行数を変更した場合にも変化する。
o ハイレゾモードはこのアドレスを使用しない。
関連 INT 18h - Function 0Ah(ノーマル)
INT 18h - Function 0Bh(ノーマル)
INT 18h - Function 30h
INT 18h - Function 31h
メモリ 0000:053Ch(LT・HA)
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA
内容 テキスト画面ステータスフラグ
bit 7: 文字タイプ
1= 88タイプ文字(初期状態)
0= 80タイプ文字
bit 6〜1: 未使用
bit 0: 表示行数
1= 20行
0= 25行
解説 o INT 18h - Function 0Ah(LT・HA),0Bh(LT・HA)の設定値保存域。
u bit 7で表示文字フォントを選択できるが、INT 18h - Function 0Ah(LT・HA)
では変更できない。このワークエリアを直接操作してbit 7=1に設定したあと、
INT 18h - Function 0Ah(LT・HA)を実行すると変更できる。
u 80タイプ文字に設定すると、画面上半分にのみ文字表示されるように
なる。漢字は正しく表示できなくなる(漢字の上半分のみ表示される)。
関連 INT 18h - Function 0Ah(LT・HA)
INT 18h - Function 0Bh(LT・HA)
メモリ 0000:053Ch(DB-P1)
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 DB-P1
内容 テキスト画面ステータスフラグ
bit 7: 未使用(BIOSで常に1にセットされる)
bit 6: 画面反転状態
1= 反転表示(VRAM上の1のドットが白く表示される)
0= 通常表示(VRAM上の1のドットが黒く表示される)
bit 5: ディスプレイページ選択
1= プレーン1(DBメニューに使用)
0= プレーン0(アプリケーション用)
bit 4: アクティブページ選択
1= プレーン1(DBメニューに使用)
0= プレーン0(アプリケーション用)
bit 3〜0: 未使用(内部で常に0010bにセットされる)
解説 o INT 18h - Function 0Ah(DB-P1),0Bh(DB-P1)の設定値保存域。
関連 INT 18h - Function 0Ah(DB-P1)
INT 18h - Function 0Bh(DB-P1)
メモリ 0000:053Dh
型 BYTE
名前 CRT_CNT
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 CRT BIOSワークエリア
解説 o ノーマルモードでは、INT 18h - Function 0Fh,10h,14hでワークエリアとして
使用。
ハイレゾモードでは、INT 18h - Function 0Fh,1Dhでワークエリアとして
使用。
o PC-98LT・HA, DB-P1では07hがセットされるが、BIOSでは使用しない。
関連
053E〜0541h
型 DWORD
名前 CRT_OFST(ノーマル),CRT_SEG_ADR(ハイレゾ)
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 CRT BIOSワークエリア
解説 o ノーマルモードでは、INT 18h - Function 0Fh,14h,1Ahで
ワークエリアとして使用。
ハイレゾモードでは、INT 18h - Function 0Fh,1Fh,20hで
ワークエリアとして使用。
関連
0542〜0545h
型 DWORD
名前 CRT_V_INT_OFST/SEG
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 VSYNC割り込み(INT 0Ah)ベクタの待避領域
解説 o CRT BIOSでVSYNC(INT 0Ah)割り込み待ちをするとき、元のINT 0Ahベクタの
アドレスを保存する領域。
o ノーマルモードでは、INT 18h - Function 0Eh,0Fh,10h,14h,1Ahで使用。
ハイレゾモードでは、INT 18h - Function 0Ah,0Eh,0Fh,10h,1Ch,1Dh,1Eh,
1Fh,20hで使用。
関連 INT 0Ah(外部割り込み…VSYNC)
053E〜0545h(LT・HA)
型 8 BYTES
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA,DB-P1
内容 画面表示関係のワークエリア
-----------+----------------------------------------------------
アドレス |内容
-----------+----------------------------------------------------
053Eh(WORD)|不明
0540h(WORD)|1キャラクタの縦のドット数(カーソル反転用)
0542h(WORD)|グラフィックVRAM上での1行のバイト数
0544h(WORD)|1キャラクタの縦のドット数(用途不明)
-----------+----------------------------------------------------
■モード別の設定値
--------+-------------+-------------
|88タイプ文字 |80タイプ文字
+------+------+------+------
アドレス| 25行 | 20行 | 25行 | 20行
--------+------+------+------+------
0540h | 0010h| 0014h| 0008h| 000Ah
0542h | 0500h| 0640h| 0280h| 0320h
0544h | 0010h| 0014h| 0008h| 000Ah
--------+------+------+------+------
* 88タイプ文字は、0000:053Ch bit 7=1のとき
* 80タイプ文字は、0000:053Ch bit 7=0のとき
* DB-P1は、88タイプ文字・25行モードしかサポートしていない。
解説 u INT 18h - Function 0Ah(LT・HA),0Ah(DB-P1)が値を設定する。
関連 INT 18h - Function 0Ah(LT・HA)
INT 18h - Function 0Ah(DB-P1)
メモリ 0000:0546h(ノーマル)
型 BYTE
名前 CRT_FONT
分類 CRT BIOS
対象 ノーマル
内容 CRT BIOSワークエリア
■PC-9801初代以外
bit 7〜3: 未使用
bit 3: 全角フラグ
1= 16x16ドット文字
0= 16x16ドット文字以外
bit 2: 2バイト半角フラグ
1= 8x16ドット文字(2バイト半角)
0= 8x16ドット文字(2バイト半角)以外
bit 1: 88タイプANKフラグ
1= 7x13ドット文字
0= 7x13ドット文字以外
bit 0: 80タイプANKフラグ
1= 6x7ドット文字
0= 6x7ドット文字以外
■PC-9801初代
bit 1 :漢字/ANK
1= 漢字フォント
0= ANKフォント
bit 0 :フォントサイズ
1= 7x11フォント
0= 6x7フォント
解説 o INT 18h - Function 14h(フォントパターンの読み出し)の
ワークエリアとして使用。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連 INT 18h - Function 14h
メモリ 0000:0546h(ハイレゾ)
型 8bit FLAGS
名前 CRT_FLAG
分類 CRT BIOS
対象 ハイレゾ
内容 テキスト画面ステータスフラグ
bit 7: VSYNC検出
1= VSYNC内処理終了状態
0= VSYNC待ち状態
* INT 18h - Function 0Ah,0Eh,0Fh,10h,1Ch,1Dh,1Eh,1Fh,20hの
VSYNC待ちルーチンで使用する。フォントの読み出しなど、BIOS内で
VSYNCに同期した処理を行う場合、割り込み処理ルーチンは処理の終了を
このビットを用いて通知する。
たとえば、フォントの読み出しを行う場合、実際の読み出しはVSYNC
割り込み処理ルーチン内で行われる。割り込みルーチン内での処理が
終了すると、このビットを1にしてメインルーチンに通知する。メイン
ルーチンはこのフラグをチェックし続けることで処理の終了を認識
する。
bit 6: ブザー状態
1= INT 18h - Function 17hで鳴動中
0= INT 18h - Function 17hで鳴動中ではない
* INT 18h - Function 17h(ブザーの起呼)でブザーを鳴動させると1に、
INT 18h - Function 18h(ブザーの停止)を実行すると0になる。
INT 18h - Function 24h(ブザーの時間設定と鳴動)や
INT 1Ch - Function 06h(ビープ機能)を実行して、一定時間後に
ブザーを停止させるとき、INT 18h - Function 17hでブザーがONに
なっていた場合には、ブザーの停止を行わないようにするために
使用される。
関連 INT 18h - Function 17h
INT 18h - Function 18h
bit 5: 未使用
bit 4: 表示行数
1= 31行
0= 25行(起動時設定)
関連 INT 18h - Function 0Ah(ハイレゾ)
INT 18h - Function 0Bh(ハイレゾ)
bit 3: KCGアクセスモード
1= ドットアクセス
0= コードアクセス(起動時設定)
関連 INT 18h - Function 0Ah(ハイレゾ)
INT 18h - Function 0Bh(ハイレゾ)
bit 2: 未使用
bit 1: 未使用
bit 0: フォントタイプ
1= 全角
0= 半角,ANK
* INT 18h - Function 1Fh(フォントパターン(24ドット)の読み出し)
のワークエリア。
解説 o INT 18h - Function 0Ah(ハイレゾ),0Bh(ハイレゾ)の設定値保存域、および
CRT BIOSのワークエリア。
関連
メモリ 0000:0547h
型 BYTE
名前 CRT_WINDOW_NO
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 CRT BIOSワークエリア
解説 o INT 18h - Funciton 0Fh(複数の表示領域の設定)のワークエリアとして使用。
GDCに設定する部分画面(スクロールエリア)の個数が格納される。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連 INT 18h - Funciton 0Fh
メモリ 0000:0548〜0549h
型 WORD
名前 CRT_W_VRAMADR
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 CRT BIOSワークエリア
解説 o INT 18h - Funciton 0Eh(1つの表示領域の設定)のワークエリアとして使用。
GDCにSCROLLコマンドを発行するときの第1,第2パラメータ。GDCから見える
テキストVRAMの表示開始オフセットアドレスが格納される。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連 INT 18h - Funciton 0Eh
メモリ 0000:054A〜054Bh
型 WORD
名前 CRT_W_RASTER
分類 CRT BIOS
対象 ノーマル,ハイレゾ
内容 CRT BIOSワークエリア
表 画面状態と設定値の対応
---------+--------+--------+------+-------------------------
CRT解像度|水平走査|垂直同期|設定値|備考
| 周波数| 周波数| |
---------+--------+--------+------+-------------------------
640x200 |15.98kHz| 61.47Hz| 0C80h|*1
640x400 |24.83kHz| 56.42Hz| 1900h|*2
640x400 |31.47kHz| 70.10Hz| 1900h|*3
640x480 |31.47kHz| 59.94Hz| 1900h|*4
1120x750 |32.86kHz| 79.09Hz| 0177h|*5
1120x750 |50.02kHz| 60.05Hz| 03FFh|*6
640x480 |31.47kHz| 59.94Hz| 3FF0h|*7
640x480 |15.73kHz| 59.94Hz| 1900h|*8 グラフィック解像度640x400時
↑ | ↑ | ↑ | 3FF0h| グラフィック解像度640x480時
---------+--------+--------+------+-------------------------
*1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT信号。
PC-8001用ディスプレイを接続するときの設定。
*2:ノーマルモードの最も標準的なCRT信号。
*3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4で、
[GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型
ディスプレイを接続して行間空き25行表示していないときのノーマル
モードのCRT信号。
*4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く)の640x480表示時と、PC-H98に
N5926-01・02型ディスプレイを接続して行間空き25行表示したときの
ノーマルモードのCRT信号。
*5:PC-98XA・XL・RL等のハイレゾモード、PC-H98にN5926-01型ディスプレイを
接続したときのハイレゾモード、98ハイレゾボード(PC-9821A-E02)の
ハイレゾモードで[GRPH]+[1]+[RESET]設定を行ったときのCRT信号
(インターレース)。
*6:PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモードと、
98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET]
設定を行ったときのCRT信号(ノンインターレース)。
*5:PC-98GSの640x480表示(非ビデオモード)時のCRT信号。
*7:PC-98GSでビデオモードに設定したときのCRT信号。
解説 o INT 18h - Funciton 0Eh(1つの表示領域の設定)のワークエリアとして使用。
GDCにSCROLLコマンドを発行するときの第3,第4パラメータ。表示画面全体の
ラスタ数が格納される。
o ノーマルモードでは、GDCに発行する場合と同じ形式で格納されるので、
右に4ビットシフトした値がラスタ数になる。ハイレゾモードでは、
この値が直接ラスタ数を示す。
ただし、640x480ドット表示時とハイレゾのノンインターレース時は
別目的で使用される模様。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連
メモリ 0000:054Ch(ノーマル)
型 8bit FLAGS
名前 PRXCRT
分類 GRAPH BIOS
対象 ノーマル
内容 グラフィック画面ステータスフラグ
bit 7: グラフィック画面状態
1= 表示
0= 表示停止(起動時設定)
関連 INT 18h - Function 40h
INT 18h - Function 41h
bit 6: CRTタイプ
1= 高解像CRT(88タイプ)(DIP SW 1-1 ON で起動時の初期状態)
0= 標準CRT(80タイプ) (DIP SW 1-1 OFFで起動時の初期状態)
* PC-8001ディスプレイ用CRT信号(水平走査周波数=15.98kHz,
垂直同期周波数=61.47Hz)出力時に0。その他のCRT信号出力時は1。
関連 0000:053Ch bit 7
INT 0Ah(外部割り込み…VSYNC)
DIP SW 1-1
bit 5: 水平走査周波数[PC-9821(初代を除く), PC-H98]
--+---------+--------------+--------------
値|CRT解像度|水平走査周波数|垂直同期周波数
--+---------+--------------+--------------
0 |640x400 |24.83kHz |56.42Hz
1 |640x400 |31.47kHz |70.10Hz
1 |640x480 |31.47kHz |59.94Hz
--+---------+--------------+--------------
* PC-9821初代では31.47kHzモード時も0のまま変化しない。
対象機種以外は常に0。PC-98GSも非対象機種。
関連 INT 18h - Function 2Ah
INT 18h - Function 30h
bit 4: CRTラインモード[PC-H98]
1= 640x480ドット
0= 640x400ドット(起動時設定)
* PC-H98のノーマルモードで水平走査周波数が31kHzのとき(bit 5=1)、
640x480ドット(行間の空いた25行)表示が可能。
関連 INT 18h - Function 2Ah
bit 3: ユーザ定義文字数
1= 188文字(以上)
0= 63文字
* PC-9801初代はユーザ定義文字のサポートなし、PC-9801E・F・M・Uは
63文字、PC-H98は219文字、それ以外は188文字使用可能。
関連 INT 18h - Function 1Ah
INT 18h - Function 1Ah(H98)
bit 2: 拡張G-VRAM(16色表示用G-VRAM)
1= あり
0= なし
* E0000〜E7FFFhの16色表示用G-VRAMの有無を示す。PC-9801初代・E・F・M
以外は拡張G-VRAMを搭載可能または標準搭載。
関連 I/O 006Ah - 00h,01h
bit 1: グラフィックチャージャ(GRCG)
1= あり
0= なし
* GRCGの有無を示す。PC-9801初代・E・F・MはGRCG搭載不可。PC-9801Uは
オプション。その他の機種は標準搭載。
関連 I/O 007Ch
I/O 007Eh
bit 0: DIP SW 1-8[PC-9801初代・E・F・Mを除く]
1= ON
0= OFF
* 起動時のDIP SW 1-8の状態を示す。起動時のDIP-SWの状態がコピー
されるだけなので、このビットだけでグラフLIOが16色モードを
サポートしているかどうかの判定はできない。
0000:0480h bit 6=1かつ0000:054Ch bit 0=1ならば、グラフLIOが
16色モードをサポートしていると判断できる。。
関連 DIP SW 1-8
解説 o 主にグラフィック関係の機能・状態を表すワークエリア。
関連
メモリ 0000:054Ch(ハイレゾ)
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 ハイレゾ
内容 CRTステータス
bit 7,6: 00b(未使用)
bit 5: CRTモード
1= ノンインターレース(水平走査周波数50.02kHz,垂直同期周波数79.09Hz)
0= インターレース(水平走査周波数32.86kHz,垂直同期周波数60.05Hz)
* PC-98XA・XL・XL^2・RLは常に0。
bit 4: 0(未使用)
bit 3: ユーザ定義文字数
1= 188文字(固定)
bit 2〜0: 000b(未使用)
解説 o CRT関係の状態を表すワークエリア。
関連 INT 0Ah(外部割り込み…VSYNC)
メモリ 0000:054Ch(LT・HA)
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 PC-98LT・HA,DB-P1
内容 CRTステータス
bit 7〜4: 0000b(未使用)
bit 3: ユーザ定義文字数
1= 188文字(固定)
bit 2〜0: 000b(未使用)
解説 o 常に固定値(08h)を示す。
関連
メモリ 0000:054Dh(ノーマル)
型 8bit FLAGS
名前 PRXDUPD
分類
対象 ノーマル
内容 グラフィックモード
bit 7:
■PC-H98
256色ボード(PC-H98-E02)の有無(Undocumented)
1= あり
0= なし
■PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く)
グラフィックスモード(Undocumented)
1= 拡張グラフィックス
0= 標準グラフィックス
* PC-98GSは使用しない
関連 INT 18h - Function 30h
INT 18h - Function 4Dh
bit 6: EGC(Enhanced Graphic Charger)の有無(Undocumented)
1= あり
0= なし
* EGCは、i80286以上のCPU、およびV30HL,V33A搭載機が備えている。
* PC-9801NS/E・NCはレジュームONのときEGC使用不可(このビットが0に
なる)。PC-9801NS/T・NL以降はレジュームONでもEGC使用可能。
* PC-9801NVはハードウェア的にはEGCを備えているが、通常はEGCが
使用できないように設定されている。OUT EE8Eh,00hを実行し、
このビットを1にすると、レジュームOFF時に限りEGCが使用可能となる。
関連 I/O 04A0h
I/O EE8Eh(PC-9801NV)
bit 5: DIP SW 2-8[PC-9801初代・E・F・M・U・VM2・VFを除く](Undocumented)
1= ON (5.0MHz)
0= OFF(2.5MHz)
* 起動時のDIP SW 2-8の状態を示す。グラフィック解像度640x400時の
GDCクロック周波数の指定。このビットには起動時のDIP-SWの状態が
コピーされているだけなので、現在のGDCのクロック周波数を示して
いるわけではない。
関連 0000:054Dh bit 2
DIP SW 2-8
bit 4: 常時フラッシュレス描画フラグ(Undocumented)
1= 常時フラッシュレス描画の機種
0= 常時フラッシュレス描画ではない機種
* このビットが1の機種では、INT 18h - Function 4Ah
(描画モードの設定)に関らず、常にフラッシュレス描画が行われる。
* このビットが0の機種はPC-9801初代・E・F・M・U・VM2・VF。それ以外の
機種は1。
関連 INT 18h - Function 4Ah
bit 3: フラッシュ描画フラグ(Undocumented)
1= フラッシュ描画
0= フラッシュレス描画
* INT 18h - Function 4Ah(描画モードの設定)の設定値。0000:054Dh
bit 4=0の機種では、フラッシュ描画に設定するとGDCで描画するとき
画面にチラツキが出る。
* 0000:054Ch bit 0=1のとき、INT 18h - Function 30h,42h等を
実行したあと必ず1に設定されるが、理由は不明。
* PC-H98では常に1を示すが、意味は不明。
関連 INT 18h - Function 4Ah
bit 2: GDCクロック(Undocumented)
1= 5.0MHz
0= 2.5MHz
* 現在のGDCクロック周波数を示す。
* GDCクロックは条件により以下の表のように設定される。
-------+--------+--------+--------+----------------------+----
グラフィック|水平走査|垂直同期|グラフィックス|GDCクロック |備考
解像度 | 周波数| 周波数|モード |(括弧内はビット値) |
-------+--------+--------+--------+----------------------+----
640x200|15.98kHz| 61.47Hz|標準 |2.5MHz(0)固定 |*1
640x200|24.83kHz| 56.42Hz|標準 |2.5MHz(0)固定 |*2
640x400| ↑ | ↑ |標準 |0000:054Dh bit 5に従う|*2
640x400| ↑ | ↑ |拡張 |0000:054Dh bit 5に従う|*2
640x200|31.47kHz| 70.10Hz|標準 |2.5MHz(0)固定 |*3
640x400| ↑ | ↑ |標準 |0000:054Dh bit 5に従う|*3
640x400| ↑ | ↑ |拡張 |0000:054Dh bit 5に従う|*3
640x480|31.47kHz| 59.94Hz|拡張 |5.0MHz(1)固定 |*4
640x400|15.73kHz| 59.94Hz|GS拡張 |5.0MHz(1)固定 |*5
640x480| ↑ | ↑ |GS拡張 |5.0MHz(1)固定 |*5
-------+--------+--------+--------+----------------------+----
*1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT
信号。PC-8001用ディスプレイを接続するときの設定。
*2:ノーマルモードの最も標準的なCRT信号。
*3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4
で、[GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型
ディスプレイを接続して行間空き25行表示していないときのノーマル
モードのCRT信号。
*4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く),PC-H98(ノーマル),PC-98GS
(非ビデオモード)の640x480表示時のCRT信号。
*5:PC-98GSでビデオモードに設定したときのCRT信号。
関連 INT 18h - Function 30h,31h
bit 1,0: GDCのドットオペレーションモードの設定状態
11b= SET
10b= CLEAR
01b= COMPLEMENT
00b= REPLACE
解説 o グラフィック関係の機能・状態を示すワークエリア。
o PC-98LT・HA,DB-P1はこのアドレスを使用しない。
関連
メモリ 0000:054Dh(ハイレゾ)
型 8bit FLAGS
名前
分類
Undocumented
対象 ハイレゾ
内容
bit 7: 256色ボード(PC-H98-E02)の有無[PC-H98]
1= あり
0= なし
bit 6: EGC(Enhanced Graphic Charger)
1= あり
0= なし
* EGCは、PC-98XA以外のハイレゾモードでサポート。
関連 I/O 04A0h
bit 5: 0(未使用)
bit 4: PC-H98のハイレゾモードと98ハイレゾボード(PC-9821A-E02)の
ハイレゾモードでは常に1を示す。意味は不明。
bit 3: PC-H98のハイレゾモードと98ハイレゾボード(PC-9821A-E02)の
ハイレゾモードでは常に1を示す。意味は不明。
bit 2〜0: 000b(未使用)
解説 o グラフィック関係の機能を示すワークエリア。
関連
メモリ 0000:054E〜054Fh
型 2 BYTES
名前 PRXGLS
分類 GRAPH BIOS
対象 ノーマル
内容 GDCに設定する線種データ
解説 o GDCのTEXTWコマンドで設定する線種データ(PTN)を格納する
領域。グラフィックBIOS、グラフLIOで使用する。
o 0000:054Eh(PRXGCPTN)の先頭2バイトと領域を共用している。
関連
メモリ 0000:054E〜0555h
型 8 BYTES
名前 PRXGCPTN
分類 GRAPH BIOS
対象 ノーマル
内容 GDCに設定するドット構成データ
解説 o GDCのTEXTWコマンドで設定するドット構成データ(TEXT1〜8)を格納する
領域。グラフィックBIOS、グラフLIOで使用する。
o 0000:054Eh(PRXGLS)と領域を共用している。
関連
メモリ 0000:0556〜0559h
型 DWORD
名前 RS_OFST_ADR,RS_SEG_ADR(ノーマル)
RS_CH0_OFST,RS_CH0_SEG(ハイレゾ)
分類 RS-232C
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 RS-232C CH0受信バッファのアドレス
解説 o RS-232C CH0(本体内蔵RS-232C)の受信バッファのアドレスを保持
している。RS-232C BIOS(INT 19h)、RSDRV.SYSが使用する。
関連 0000:055Bh
0000:05C1h
0000:05F0h
0000:05F4h
INT 19h - Function 00h(BIOS)
INT 19h - Function 00h(RSDRV)
メモリ 0000:055Ah
型 8bit FLAGS
名前 PR_SIFT
分類 PRINTER BIOS
対象 PC-9801初代・E・F・M
内容 ODA系プリンタのシフト状態
bit 7〜3: 未使用
bit 2: ODAプリンタからの割り込みみ
1= あり
0= なし
bit 1: シフト状態
1= 状態確定
0= 状態不確定
bit 0: シフト状態
1= SO状態
0= SI状態
解説 o PC-9801-05(ODAプリンタインターフェース)実装時に使用するワークエリア。
関連
メモリ 0000:055Bh
型 8bit FLAGS
名前 RS_S_FLAG
分類 RS-232C BIOS
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 RS-232C受信データのシフト状態
bit 7: CH 0 SI/SO変換の有無
bit 6: CH 1 SI/SO変換の有無
bit 5: CH 2 SI/SO変換の有無
1=あり
0=なし(初期状態)
bit 4: CH 0 SI/SOシフト状態
bit 3: CH 1 SI/SOシフト状態
bit 2: CH 2 SI/SOシフト状態
bit 1,0: 00b(未使用)
1=SO
0=SI(初期状態)
解説 o RS-232CのSI/SO変換の有無と受信データのシフト状態を保持する。
RS-232C BIOS(INT 19h,INT D4h,INT D5h)、RSDRV.SYSが使用する。
関連 0000:0556h
0000:05C1h
0000:05F0h
0000:05F4h
メモリ 0000:055C〜055Dh
型 16bit
名前 DISK_EQUIP
分類 DISK BIOS
対象 全機種
内容 ディスク接続状態
-----------+----------------+------------------
アドレス/ビット |装置種別 |備考
-----------+----------------+------------------
055Ch bit 7|320KB FDD UNIT#3|(DA/UA=53h) *1
bit 6|320KB FDD UNIT#2|(DA/UA=52h) *1
bit 5|320KB FDD UNIT#1|(DA/UA=51h) *1
bit 4|320KB FDD UNIT#0|(DA/UA=50h) *1
bit 3|1MB FDD UNIT#3|(DA/UA=93h,13h)
bit 2|1MB FDD UNIT#2|(DA/UA=92h,12h)
bit 1|1MB FDD UNIT#1|(DA/UA=91h,11h)
bit 0|1MB FDD UNIT#0|(DA/UA=90h,10h)
055Dh bit 7|640KB FDD UNIT#3|(DA/UA=73h,F3h)
bit 6|640KB FDD UNIT#2|(DA/UA=72h,F2h)
bit 5|640KB FDD UNIT#1|(DA/UA=71h,F1h)
bit 4|640KB FDD UNIT#0|(DA/UA=70h,F0h)
bit 3|SASI HDD UNIT#3|(DA/UA=83h,03h) *2
bit 2|SASI HDD UNIT#2|(DA/UA=82h,02h) *3
bit 1|SASI HDD UNIT#1|(DA/UA=81h,01h) *4
bit 0|SASI HDD UNIT#0|(DA/UA=80h,00h) *5
-----------+----------------+------------------
1= 接続
0= 非接続
*1: PC-9801初代・E・F・Mのみサポート
*2: PC-H98/70-E01・E03に接続した外付SASIドライブまたは
4台目IDE HDDも同様
*3: PC-H98/70-E01・E03(PC-H98内蔵SASI),PC-H98/70-E02(PC-H98内蔵ESDI)
または3台目IDE HDDも同様
*4: 2台目IDE HDDも同様
*5: 1台目IDE HDDも同様
解説 o DISK BIOSのINITIALIZEコマンド実行時に、ディスク装置の接続状態が
セットされる。
o 両用FDDインターフェース、1.44MB対応両用インターフェースの場合、
設定されているI/Fモードのドライブとして認識される。
つまり、1MB I/Fモードのとき、0000:055Dh bit 7〜4のどれかが1になる
ことはない。もし1になっていたとしたら、640KB FD I/Fボードが実装され、
そこに640KB FDが接続されていることになる。
同様に、640KB I/Fモードのとき、0000:055Ch bit 3〜0のどれかが1になる
ことはない。もし1になっていたとしたら、1MB FD I/Fボードが実装され、
そこに1MB FDが接続されていることになる。
o FDDが両用ドライブかどうか、3モードドライブかどうかをワークエリア
から判断することはできない。INT 1Bh - Function 84h(FD),C4h(FD)の
返り値から区別することができる。
u PC-9821Np・Nsでは、98NOTEベイに内蔵FDDを実装していないときでも、
このワークエリアには1台の1MB専用FDDが接続されているように示される
(このため、MS-DOSのドライブも作られる)。
98NOTEベイに実装するFDDは、電源ON状態で挿抜しても状態の変化は検出
されない(ステータスインジケータのFDDの表示は変化しない。FDDを抜いた
状態で起動したあとFDDを実装しても、FDにはアクセスできない)。また、
そのような操作も禁止されている。常に1MB専用FDDが接続されている
ように見えることに、どのような意味があるのかは不明。
関連 0000:0482h
0000:0488h
0000:0494h
0000:0560h
0000:05AEh
INT 1Bh - Function 04h(FD)
INT 1Bh - Function 84h(FD)
INT 1Bh - Function C4h(FD)
メモリ 0000:055E〜055Fh
型 16bit
名前 DISK_INT
分類 DISK BIOS
対象 全機種
内容 ディスク装置からの割り込み状況
--------------+-----------------
アドレス/ビット |装置種別
--------------+-----------------
055Eh bit 7〜4|未使用
bit 3 |1MB FDD UNIT#3
bit 2 |1MB FDD UNIT#2
bit 1 |1MB FDD UNIT#1
bit 0 |1MB FDD UNIT#0
055Fh bit 7 |640KB FDD UNIT#3
bit 6 |640KB FDD UNIT#2
bit 5 |640KB FDD UNIT#1
bit 4 |640KB FDD UNIT#0
bit 3〜1|未使用
bit 0 |SASI/ESDI/IDE HDD
--------------+-----------------
1= 対応するデバイスから割り込みが発生
0= 割り込みなし
解説 o ディスク装置からの割り込み状況を示す。
関連
メモリ 0000:0560h
型 BYTE
名前 DISK_TYPE
分類 DISK BIOS
対象 PC-9801初代・E・F・M
内容 320KB FDタイプ
FFh= 片面装置
EFh= 両面装置
00h= 未接続
解説 o 320KB FDドライブの接続状態・装置の種類を示す。
関連 0000:055Ch
メモリ 0000:0561h
型 8bit FLAGS
名前 DISK_MODE
分類 DISK BIOS
対象 PC-9801初代・E・F・M
内容 320KB FDDの動作モード
bit 7〜4: 未使用
bit 3: 320KB FDD UNIT#3
bit 2: 320KB FDD UNIT#2
bit 1: 320KB FDD UNIT#1
bit 0: 320KB FDD UNIT#0
1= 両面
0= 片面
解説 o 320KB FDDの動作モードを示す。
関連 0000:0560h
メモリ 0000:0562〜0563h
型 WORD
名前 DISK_TIME
分類 DISK BIOS
対象 PC-9801初代・E・F・M
内容 320KB FDタイムアウト時間(単位:ms)
解説 o 320KB FDからブートするときのタイムアウト処理を行う。
0のときは完了するまで無条件に待つ。電源ON/RESET時、約35秒に設定される。
関連 0000:0560h
メモリ 0000:0564〜0583h
型 32 BYTES
名前 DISK_RESULT
分類 DISK BIOS
対象 1MB専用BIOS,両用BIOS - 1MB I/Fモード
内容 1MB FD I/FのFDCリザルトステータス
-----------+--------------
アドレス |内容
-----------+--------------
0564〜056Bh|1MB FDD UNIT#0
056C〜0573h|1MB FDD UNIT#1
0574〜057Bh|1MB FDD UNIT#2
057C〜0583h|1MB FDD UNIT#3
-----------+--------------
----------+---------------------------------------------
オフセット|内容
----------+---------------------------------------------
+0 |ST0(リザルトステータス)
|bit 7: IC1(Interrupt Code 1)
|bit 6: IC0(Interrupt Code 0)
|bit 5: SE(Seek End)
|bit 4: EC(Equipment check)
|bit 3: NR(Not Ready)
|bit 2: HD(Head Address)
|bit 1: US1(Unit Select 1)
|bit 0: US0(Unit Select 0)
----------+---------------------------------------------
+1 |ST1(リザルトステータス)または
|PCN(プレゼントシリンダナンバ)*1
|bit 7: EN(End of Cylinder)
|bit 6: 0
|bit 5: DE(Data Error)
|bit 4: OR(Overrun)
|bit 3: 0
|bit 2: ND(No Data)
|bit 1: NW(Not Writable)
|bit 0: MA(Missing Address Mark)
----------+---------------------------------------------
+2 |ST2(リザルトステータス)
|bit 7: 0
|bit 6: CM(Control Mark)
|bit 5: DD(Data Error in Data Field)
|bit 4: NC(No Cylinder)
|bit 3: SH(Scan Equal Hit)
|bit 2: SN(Scan Not Satisfied)
|bit 1: BC(Bad Cylinder)
|bit 0: MD(Missing Address Mark in Data Field)
----------+---------------------------------------------
+3 |C(シリンダ番号)
+4 |H(ヘッド番号)
+5 |R(レコード番号)
+6 |N(データ長)
+7 |NCN(現在のシリンダ番号)
----------+---------------------------------------------
*1: ST0のbit 5(SE)=1のときPCNとして使用する
解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス情報。
SEEK系コマンドでは、ST0とPCNのみ通知される。
o 両用FD I/Fでは、1MB I/Fモードであれば640KBアクセスモードでも
このワークエリアを使用する。
関連 0000:05D0h
0000:05D8h
I/O 0090h
メモリ 0000:0584h
型 BYTE
名前 DISK_BOOT
分類 DISK BIOS
対象 全機種
内容 OSがブートしたディスク装置のDA/UA
-------+---------------------------------------------------------
DA/UA |装置の種類
-------+---------------------------------------------------------
10〜13h|両用FD I/F(1MB I/Fモード)に接続されたFDD(640KBメディア)
30〜33h|両用FD I/F(1MB I/Fモード)に接続されたFDD(1.44MBメディア)
50〜53h|320KB FD I/Fに接続されたFDD
68〜6Bh|BRANCH 4670 I/Fに接続された仮想ドライブ
70〜73h|640KB FD I/F,両用FD I/F(640KB I/Fモード)に接続されたFDD
|(640KBメディア)
80〜83h|SASI・ESDI・IDE HDD
90〜93h|1MB FD I/F,両用FD I/F(1MB I/Fモード)に接続されたFDD
|(1MBメディア)
A0〜A6h|SCSI I/Fに接続されたHDD, 3.5"MO, 5"MO, CD-ROM
D0h |ROMドライブ
D1h |PCMCIAメモリカードドライブ
F0〜F3h|両用FD I/F(640KB I/Fモード)に接続されたFDD(1MBメディア)
-------+---------------------------------------------------------
解説 o OSがブートしたディスク装置のDA/UAを示す。
関連 FD80:27E8h(ノーマル)
FD80:27ECh(ノーマル)
F800:7FECh(ハイレゾ)
メモリ 0000:0585h
型 8bit FLAGS
名前 DISK_STATUS
分類 DISK BIOS
対象 SASI, ESDI
内容 HDC(Hard Disk Controller)のCompletion Status
bit 7,6: 00b
bit 5: LUN(Logical Unit Number)
1= HDD#1
0= HDD#0
bit 4〜2: 未定義
bit 1: エラー
1= エラー発生
0= エラーなし
bit 0: パリティーエラー
1= エラー発生
0= エラーなし
解説 o ディスクI/O終了時に、HDCのCompletion Status(I/O 0080h)を格納する。
o IDE BIOSはこのアドレスを使用しない。
関連 I/O 0080h
メモリ 0000:0586〜0589h
型 4 BYTES
名前 DISK_SENSE
分類 DISK BIOS
対象 SASI,ESDI
内容 SASI/ESDI BIOSのワークエリア
--------+------------------------------------------
アドレス|内容
--------+------------------------------------------
0586h |センスバイト
0587h |論理アドレスのbit 21〜16(上位2bitは0)
0588h |論理アドレスのbit 15〜8
0589h |論理アドレスのbit 7〜0
--------+------------------------------------------
解説 o IDE BIOSはこのアドレスを使用しない。
関連
メモリ 0000:058A〜058Bh
型 WORD
名前 CA_TIM_CNT
分類 TIMER BIOS
対象 全機種
内容 インターバルタイマカウンタ(単位:10ms)
解説 o シングルイベントタイマのインターバルタイマカウンタ。詳細は、
INT 1Ch - Function 02hの解説を参照。
u DB-P1では、50ms単位の値が設定される。
関連 INT 1Ch - Function 02h
メモリ 0000:058C〜058Dh
型 WORD
名前
分類 DISK BIOS
Undocumented
対象 PC-9821Xa10・Xa9・Xa7・Xa12
内容 3台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms)
解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って
モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると
HDDのスピンドルモータが停止する。
o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。
o INT 17hハンドラがデクリメントする。
関連 0000:04FEh
0000:059Ah
0000:05B1h
0000:058Eh
INT 17h(外部割り込み…カレンダ時計割り込み)
INT 1Bh - Function D0h(IDE)
INT 1Bh - Function E0h(IDE)
INT 1Bh - Function F0h(IDE)
メモリ 0000:058E〜058Fh
型 WORD
名前
分類 DISK BIOS
Undocumented
対象 PC-9821Xa10・Xa9・Xa7・Xa12
内容 4台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms)
解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って
モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると
HDDのスピンドルモータが停止する。
o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。
o INT 17hハンドラがデクリメントする。
関連 0000:04FEh
0000:059Ah
0000:05B1h
0000:058Ch
INT 17h(外部割り込み…カレンダ時計割り込み)
INT 1Bh - Function D0h(IDE)
INT 1Bh - Function E0h(IDE)
INT 1Bh - Function F0h(IDE)
メモリ 0000:058E〜05BFh
型 50 BYTES
名前 PRXGDCQ
分類 GRAPHIC LIO
対象 PC-9801初代
内容 PAINT処理の高速制御用エリア
解説 o グラフィックLIOのワークエリアとして使用。
o PC-9801E・F・M以降の機種では使用しない。
関連
メモリ 0000:058E〜058Fh
型 2 BYTES
名前
分類 DISK BIOS
Undocumented
対象 PC-H98/70-E01・E02・E03
内容 拡張DISK BIOS ROMアドレス関係
解説 o 詳細不明。
0000:058Ehには、INT 1Fh - Function C4h(DL=04h)で取得した
メモリ領域開始アドレス(CPUアドレスのbit 19〜16)が格納される。
0000:058Fhには、実際の(CSレジスタからコピーされた)拡張DISK BIOS
アドレス(CPUアドレスのbit 19〜16)が格納される。
関連
メモリ 0000:0590h
型 8bit FLAGS
名前 ADR_MOD
分類 DISK BIOS
対象 PC-H98
内容 H98 DISK BIOSモード
bit 7: 現在のSASI(ESDI,IDE) BIOSアクセスモード
1= インダイレクトモードアクセス
0= ダイレクトモードアクセス
bit 6: SASI(ESDI,IDE) BIOSインダイレクトモードサポート
1= サポート
0= 非サポート
* PC-H98/70-E01・E02・E03またはPC-9801-27を実装したとき、
ノーマルモードでは非サポート、ハイレゾモードではサポート。
bit 5: 現在のSCSI BIOSアクセスモード
1= インダイレクトモードアクセス
0= ダイレクトモードアクセス
bit 4: SCSI BIOSインダイレクトモードサポート
1= サポート
0= 非サポート
* PC-H98S/8-E02,PC-H98-B03・B12はサポート。
PC-9801-55初代・55L・55U・92・100は非サポート。
bit 3: 現在のFD BIOSアクセスモード
1= インダイレクトモードアクセス
0= ダイレクトモードアクセス
bit 2: FD BIOSインダイレクトモードサポート
1= サポート
0= 非サポート
* FD BIOSでインダイレクトモードをサポートしている機種はない。
bit 1: ESDI HD #1のモード(Undocumented)
bit 0: ESDI HD #0のモード(Undocumented)
解説 o bit 7〜2は、PC-H98のインダイレクトモードに関する情報を格納している。
PC-H98は、DISK BIOSで1Mバイト超の領域に転送可能なインダイレクト
モードをサポートしている。bit 7〜2は、どのDISK BIOSでインダイレクト
モードをサポートしているか、現在どのモードに設定されているかを示す。
o ダイレクトモードでは、転送アドレスをES:BPで直接指定するが、
インダイレクトモードのときは、ES:BPで間接的に転送アドレスを指定する
ようになる。このとき、転送アドレスは32ビットのリニアアドレスでメモリ
上に書き込む。ES:BPで、32ビットのリニアアドレスが書き込まれたメモリの
アドレスを指定する。
インダイレクトモードで一度BIOSを実行すると、必ずダイレクトモードに
戻される。
o bit 1,0は、PC-H98内蔵ESDI HDD(PC-H98/70-E01・E02・E03,PC-H98S/8-E01)が
ノーマルモードのとき使用する。詳細は不明。INT 1Bh - Function 0Eh
(SASI/ESDI/IDE)参照。
関連 0000:0590h bit 1
0000:05ECh
INT 1Bh - Function 0Eh(SASI/ESDI/IDE)
メモリ 0000:0591h
型 8bit FLAGS
名前
分類 DMA BIOS
Undocumented
対象 PC-H98
内容 DMAチャネル使用状況
bit 7 : DMA CH7
bit 6 : DMA CH6
bit 5 : DMA CH5
bit 4 : DMA CH4
bit 3 : DMA CH3
bit 2 : DMA CH2
bit 1 : DMA CH1
bit 0 : DMA CH0
1= 使用中
0= 非使用中
解説 o DMAチャネルの使用状況を示すフラグ。
o DMA BIOSのINT 1Fh - Function D2h(チャネルアロケート)を実行すると
指定されたチャネルに対応するビットが1になる。
INT 1Fh - Function D7h(チャネルリリース)を実行すると
指定されたチャネルに対応するビットが0になる。
関連 INT 1Fh - Function D2h
INT 1Fh - Function D7h
メモリ 0000:0592〜0593h
型 2 BYTES
名前
分類
Undocumented
対象 PC-H98
内容 NMIハンドラで使用
解説 o 詳細不明。ノーマル,ハイレゾともNMIハンドラで使用する。
関連 INT 02h(CPU例外)
メモリ 0000:0594〜0595h
型 WORD
名前
分類 MEMORY
Undocumented
対象 16Mバイト超メモリ搭載可能機
内容 16Mバイト超の使用可能プロテクトモードメモリ容量(単位:Mバイト)
解説 o 1000000h(16M)以降のアドレスに位置する利用可能なプロテクトモードメモリの
容量を示す。PC-H98, PC-9821Af以降のPC-9821シリーズ、PC-9801BA2・BS2・BX2・
BA3・BX3・BX4で有効。
u HIMEM.SYSの資源管理用ワークも兼ねている。16Mバイト超メモリ対応の
HIMEM.SYSを組み込むと、このアドレスには0000hが書き込まれる。HIMEM.SYS
を組み込んだあとは、実際のメモリ容量を示さないことになる。
なお、HIMEM.SYSの一部のバージョン(MS-DOS 5.0A-H付属版等)では、
16Mバイト超メモリには対応していないが、組み込み時にこのアドレスの
内容を0000hにするものがある。
o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の
アドレスに位置するメモリの容量は0000:0501h bit 2〜0に格納されている。
100000h(1Mバイト)〜FFFFFFh(16Mバイト-1)のアドレスに位置するメモリの
容量は0000:0401hに格納されている。
関連 0000:0401h
0000:0501h bit 2〜0
INT DC - Function 81h
INT DC - Function 82h
メモリ 0000:0596h
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-H98
内容
bit 7〜4: 未使用
bit 3: CPUキャッシュ
1= OFF
0= ON
bit 2: 製品コード=09h・機能ID(4)=80hである拡張ボードの実装状況
1= あり
0= なし
* 640KB FD I/F関連の模様。ボードの製品名等、詳細は不明。
関連 INT 1Fh - Function C0h
INT 1Fh - Function C2h
bit 1: INT 1Fh - Function DFhの設定値
1= BH=00hで実行後
0= BH=00h以外で実行後
関連 INT 1Fh - Function DFh
I/O 0431h
bit 0: CPUシャットダウン時のI/O 00F0hに出力する値
1= OUT 00F0h,01hを実行
0= OUT 00F0h,00hを実行
解説 o bit 2,1の機能の詳細は不明。
u UNDOCUMENTED 9801/9821 Vol.1の第1刷では、INT 1Fh - Function DFhは
「電源OFF禁止・許可設定」と記述されているが、これは誤り。実際は
動作不明。
o bit 3,0は、システムセットアップメニューの「CPU速度」の設定により
以下のようになる。
-------+----------------
CPU速度|bit 3,0の状態
-------+----------------
HIGH |bit 3=0, bit 0=0
MIDDLE |bit 3=0, bit 0=1
LOW |bit 3=1, bit 0=1
-------+----------------
関連
メモリ 0000:0596h
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-9821, PC-9801FA・FS・FX・US・BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・
NA・NS/R・NX/C・NS/A・NL/R
内容 CPU速度
bit 7〜4: 未使用
bit 3: CPUキャッシュ
1= OFF
0= ON
bit 2,1: 00b(未使用)
bit 0: CPU速度
1= 低速
0= 高速
表 機種・CPU速度別bit 3,0の値
-----------+------+------+------+
機種名 | HIGH |MIDDLE| LOW |
-----------+------+------+------+
PC-9801FA | 0,0 | 1,1 | 1,1 |
PC-9801FS | 0,0 | 0,0 | 0,1 |
PC-9801FX | 0,0 | 0,0 | 0,1 |
PC-9801US | 0,0 | なし | 0,1 |
PC-9821初代| 0,0 | なし | 0,1 |
PC-9821Af | 0,0 | 0,0 | 1,1 |
PC-9821Bf | 0,0 | 0,0 | 1,1 |
PC-9801NS/R| 0,0 | なし | 1,1 |
PC-9801NL/R| 0,0 | なし | 0,1 |
PC-9801NS/A| 0,0 | 1,1 | 1,1 |
PC-9821Np | 0,0 |? |? |
その他*1 | 0,0 | 0,1 | 1,1 |
-----------+------+------+------+
*1: PC-9821Ap・As・Ae・Ap2・As2・Ap2・As2・An・Bp・Bs・Be・Ce・Cs2・Ce2・Ne・Ts,
PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・NA・NX/C
解説 o CPU速度の設定によって変化する。
bit 3は、i486,Pentium搭載機でCPUキャッシュがOFFのとき1になる。
関連 CPU速度
メモリ 0000:0597h
型 8bit FLAGS
名前
分類 CRT BIOS
Undocumented
対象 PC-98GS, PC-9821, PC-9801BA2・BS2・BX2・BA3・BX3・BX4
bit 7: INT 18h - Function 30h,31hのサポート
1= あり
0= なし
* 1の機種は、PC-98GS(386SX動作時),PC-9821,PC-9801BA2・BS2・BX2・BA3・
BX3・BX4・NL/A。これ以外の機種とPC-98GSのV30動作時は0。
* PC-98GS,PC-9821,PC-9801BA2・BS2・BX2・BA3・BX3・BX4では、このビットを
0にするとINT 18h - Function 30h,31hが無動作になる。
* PC-9821Ts・Ne2・Ndは例外で、このビットは1を示すが、
INT 18h - Function 30h,31hをサポートしていない。
* この値が0の環境でAVGDRV.SYSを組み込むと「AV機能が無効です」を
表示する。
関連 INT 1Fh - Function 00h(PC-98GS)
INT 1Fh - Function 01h(PC-98GS)
bit 6〜3: 0000b(未使用)
bit 2: 拡張グラフィックスモード・GS拡張グラフィックスモードのサポート
1= あり
0= なし
* 1の機種は、PC-9821初代・Ap・As・Ae・Af・Ap2・As2・An・Ce・Cs2・Ce2・Ne・Np,
PC-98GS。PC-9821Bp・Bs・Be・Bf・Ts・Ne2・Nd, PC-9801BA2・BS2・BX2・BA3・
BX3・BX4は0。
bit 1,0: グラフィック解像度
---+------------------+------------
値 |グラフィック解像度|同時発色数
---+------------------+------------
00b|640x200(UPPER) |2/8/16色
01b|640x200(LOWER) |2/8/16色
10b|640x400 |2/8/16/256色
11b|640x480 *1 |256色
---+------------------+------------
*1 拡張グラフィックスモードをサポートしないPC-9821Bp・Bs・Be・Bf・Ts・
Ne2・Ndはこの状態にはならない。
解説 o bit 1,0が示すグラフィック解像度は、INT 18h - Function 42hで解像度を
変更したときにも正しく反映される。このため、INT 18h - Function 30h,
31hをサポートしていないPC-9821Ts・Ne2・Ndでも、この2ビットには解像度の
状態が反映される。
関連 INT 18h - Function 30h
INT 18h - Function 31h
INT 18h - Function 42h
メモリ 0000:0598〜0599h
型 WORD
名前
分類 DISK BIOS
Undocumented
対象 HDD内蔵98NOTE, PC-9821Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2・Ts・Xa・Xn・Xp・Xs・Xe,
PC-9801BA2・BS2・BX2・BA3・BX3・BX4
内容 1台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms)
解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って
モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると
HDDのスピンドルモータが停止する。
o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。
o 98NOTEでは、システムタイマ(INT 0EhまたはINT 17h)ハンドラがこの値を
デクリメントする。デスクトップ機では、INT 17hハンドラがデクリメント
する。
関連 0000:04FEh
0000:059Ah
0000:05B1h
0000:058Ch
0000:058Eh
INT 0Eh(外部割り込み…98NOTE)
INT 17h(外部割り込み…98NOTE)
INT 17h(外部割り込み…IDE)
INT 1Bh - Function D0h(IDE)
INT 1Bh - Function E0h(IDE)
INT 1Bh - Function F0h(IDE)
メモリ 0000:059A〜059Bh
型 WORD
名前
分類 DISK BIOS
Undocumented
対象 HDD内蔵98NOTE, PC-9821Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2・Ts・Xa・Xn・Xp・Xs・Xe,
PC-9801BA2・BS2・BX2・BA3・BX3・BX4
内容 IDEハードディスクのモータ停止時間の初期値(単位:100ms)
解説 o 「内蔵固定ディスク制御 設定しない」のときの値は0000h。
関連 0000:0598h
0000:05B1h
メモリ 0000:059C〜059Dh(NOTE)
型 2 BYTES
名前
分類
Undocumented
対象 98NOTE(PC-9801N・NSを除く)
内容 ■PC-9801NV・NS/E・NC・NS/T・NL・NS/L・NA
0000:059Ch(BYTE): NOTE RAMバンク用I/O 0E8Eh(BYTE)保存域
0000:059Dh(BYTE): NOTE RAMバンク用I/O 1E8Eh(BYTE)保存域
■PC-9801NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es
0000:059Ch(WORD): NOTE RAMバンク用I/O 0E8Eh(WORD)保存域
解説 o NOTE RAMのバンクを切り替えるとき、バンク切り換え用I/Oポートの
内容を保存する。
関連 0000:059Eh
I/O 0E8Eh
I/O 1E8Eh
メモリ 0000:059Eh(NOTE)
型 8bit FLAGS
名前
分類
Undocumented
対象 98NOTE(PC-9801N・NS・NVを除く)
内容 NOTE特殊機能の起動指示フラグ
bit 7: 電源OFF要求
1= 電源OFF
0= No Operation
bit 6: 電源OFF要求マスク
1= 電源OFF禁止
0= 電源OFF許可
bit 5〜4: 不明
bit 3: ノートメニュー要求
1= [CTRL]+[GRPH]+[HELP]が押された
0= No Operation
bit 2: ノートメニュー内部フラグ
1= 現在ノートメニューを実行中
0= ノートメニューを実行中でない
bit 0: ノートメニュー要求マスク
1= ノートメニュー要求を無視する
0= ノートメニュー要求を無視しない
解説 o ノートメニュー等の呼び出しを要求する。
関連 INT 0Eh(外部割り込み…98NOTE)
INT 17h(外部割り込み…98NOTE)
INT 1Fh - Function 9A1Dh
INT 1Fh - Function 9A1Eh
メモリ 0000:059Fh
型 BYTE
名前
分類
Undocumented
対象 PC-9801NS/T・NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es
内容 ■PC-9801NS/T
NOTE RAMバンク用I/O 0E8Fhポート保存域
■PC-9801NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es
NOTE RAMバンク用I/O 1E8Ehポート保存域
解説 o NOTE RAMのバンクを切り替えるとき、バンク切り換え用I/Oポートの
内容を保存する。
関連 0000:059Ch
I/O 0E8Fh[PC-9801NS/T]
I/O 1E8Eh[PC-9801NS/T以外]
メモリ 0000:059C〜059Dh(HA)
型 WORD
名前 CARD_SIZE
分類 PCMCIAメモリカードBIOS
対象 PC-98HA
内容 PCMCIAメモリカードのサイズ
bit 15〜8: リザーブ
bit 7〜3: 仮数部-1(Y)
bit 2〜0: 指数部 (X)
容量 = (Y+1) * (4^X / 2) (単位:Kバイト)
解説 u PC-98HA以外のPCMCIAスロット搭載機のシステム共通域には、
メモリカードの容量を示す領域はない。メモリカードの容量を
得るには、INT 1Fh - Function B6hを実行する。
関連 0000:059Eh
INT 1Fh - Function B6h
表 [X,Yと容量の関係の表](単位:バイト)
-----+------+-------+-------+-------+-------+-------+-------
Y\X| 0| 1| 2| 3| 4| 5| 6
-----+------+-------+-------+-------+-------+-------+-------
00h | 0.5K| 2.0K| 8.0K| 32.0K| 128.0K| 0.5M| 2.0M
01h | 1.0K| 4.0K| 16.0K| 64.0K| 256.0K| 1.0M| 4.0M
02h | 1.5K| 6.0K| 24.0K| 96.0K| 384.0K| 1.5M| 6.0M
03h | 2.0K| 8.0K| 32.0K| 128.0K| 512.0K| 2.0M| 8.0M
04h | 2.5K| 10.0K| 40.0K| 160.0K| 640.0K| 2.5M| 10.0M
05h | 3.0K| 12.0K| 48.0K| 192.0K| 768.0K| 3.0M| 12.0M
06h | 3.5K| 14.0K| 56.0K| 224.0K| 896.0K| 3.5M| 14.0M
07h | 4.0K| 16.0K| 64.0K| 256.0K|1024.0K| 4.0M| 16.0M
08h | 4.5K| 18.0K| 72.0K| 288.0K|1152.0K| 4.5M| 18.0M
09h | 5.0K| 20.0K| 80.0K| 320.0K|1280.0K| 5.0M| 20.0M
0Ah | 5.5K| 22.0K| 88.0K| 352.0K|1408.0K| 5.5M| 22.0M
0Bh | 6.0K| 24.0K| 96.0K| 384.0K|1536.0K| 6.0M| 24.0M
0Ch | 6.5K| 26.0K| 104.0K| 416.0K|1664.0K| 6.5M| 26.0M
0Dh | 7.0K| 28.0K| 112.0K| 448.0K|1792.0K| 7.0M| 28.0M
0Eh | 7.5K| 30.0K| 120.0K| 480.0K|1920.0K| 7.5M| 30.0M
0Fh | 8.0K| 32.0K| 128.0K| 512.0K|2048.0K| 8.0M| 32.0M
10h | 8.5K| 34.0K| 136.0K| 544.0K|2176.0K| 8.5M| 34.0M
11h | 9.0K| 36.0K| 144.0K| 576.0K|2304.0K| 9.0M| 36.0M
12h | 9.5K| 38.0K| 152.0K| 608.0K|2432.0K| 9.5M| 38.0M
13h | 10.0K| 40.0K| 160.0K| 640.0K|2560.0K| 10.0M| 40.0M
14h | 10.5K| 42.0K| 168.0K| 672.0K|2688.0K| 10.5M| 42.0M
15h | 11.0K| 44.0K| 176.0K| 704.0K|2816.0K| 11.0M| 44.0M
16h | 11.5K| 46.0K| 184.0K| 736.0K|2944.0K| 11.5M| 46.0M
17h | 12.0K| 48.0K| 192.0K| 768.0K|3072.0K| 12.0M| 48.0M
18h | 12.5K| 50.0K| 200.0K| 800.0K|3200.0K| 12.5M| 50.0M
19h | 13.0K| 52.0K| 208.0K| 832.0K|3328.0K| 13.0M| 52.0M
1Ah | 13.5K| 54.0K| 216.0K| 864.0K|3456.0K| 13.5M| 54.0M
1Bh | 14.0K| 56.0K| 224.0K| 896.0K|3584.0K| 14.0M| 56.0M
1Ch | 14.5K| 58.0K| 232.0K| 928.0K|3712.0K| 14.5M| 58.0M
1Dh | 15.0K| 60.0K| 240.0K| 960.0K|3840.0K| 15.0M| 60.0M
1Eh | 15.5K| 62.0K| 248.0K| 992.0K|3968.0K| 15.5M| 62.0M
1Fh | 16.0K| 64.0K| 256.0K|1024.0K|4096.0K| 16.0M| 64.0M
-----+------+-------+-------+-------+-------+-------+-------
* X=7はリザーブ
メモリ 0000:059Eh(HA)
型 8bit FLAGS
名前 CARD_STATUS
分類 PCMCIAメモリカードBIOS
対象 PC-98HA
内容 PCMCIAメモリカードの状態
bit 7: アクセス状態
1= アクセス中
0= アクセスしていない
bit 6: リード/ライト
1= ライト
0= リード
* bit 7=1のとき有効
bit 5: カード有効/無効
1= カード無効
0= カード有効
* bit 0,1=00bのとき認識前
bit 4: カード入換え検出
1= 入換えた
0= 入換えない
* スロットの蓋を開閉すると同時に、1にセットされる。
* デバイスドライバ等を作成するとき、カードの入れ換え検出に
利用できる。すなわち、デバイスドライバは、PCMCIAメモリカードに
アクセスしたときこのビットを0にセットするように作成する。
次にアクセスしたとき、このビットが0のままならカードは
入れ換えられていないことがわかる。1になっていたら、
カードが入れ換えられたことがわかる。
bit 3: カード有無
1= あり
0= なし
* スロットの蓋を開閉すると同時に、1または0にセットされる。
bit 2: ライトプロテクト
1= あり
0= なし
* bit 3=1(カードあり)のとき有効。
* bit 0=1(EMSカード)では常に1。
* ROMカードは常に1。
bit 1: RAM/ROMカード識別
1= RAM/ROMカード
0= その他
* bit 5=0(カード識別後)のとき有効
bit 0: EMSカード識別
1= EMSカード
0= その他
* bit 5=0(カード識別後)のとき有効
解説 o PCMCIAメモリカードの状態を示す。
u PC-9801NL,PCカードスロット搭載機では、0000:05A6hに同様の情報が
格納される。
関連 0000:059Ch
0000:05A6h
メモリ 0000:059F〜05AFh(HA)
型 16 BYTES
名前
分類
Undocumented
対象 PC-98HA, DB-P1
内容
-----------+-------------------------------------------------
アドレス |内容
-----------+-------------------------------------------------
059Fh(BYTE)|bit 7,5〜0: 不明
|bit 6: INT 1Fh - Function B0h,B1hを実行すると1/0になる
05A0h(BYTE)|I/O 1E8Ehに出力した値を保持
05A1h(BYTE)|I/O 0E8Ehに出力した値を保持
05A2h(BYTE)|不明。PCMCIA関連 ■PC-98HAのみ
05A3h(BYTE)|PC-98HAのINT 10〜17hハンドラ内でI/O 8810hに出力する値。
|メモリスイッチ13hのコピー。 ■PC-98HAのみ
05A4h(BYTE)|PCMCIA用ダウンカウンタ ■PC-98HAのみ
05A5h(BYTE)|不明
05A6h(BYTE)|I/O 0075に出力する値(1回目) ■PC-98HAのみ
05A7h(BYTE)|I/O 0075に出力する値(2回目) ■PC-98HAのみ
05A8〜05AFh|未使用
-----------+-------------------------------------------------
解説 o 詳細不明
関連
メモリ 0000:05A0h
型 8bit FLAGS
名前
分類
Undocumented
対象 98NOTE(PC-9801N・NSを除く)
内容 LOW BATTERY警告音用ワークエリア
bit 7: 未使用
bit 6: 警告ビープ音の有無
1= 鳴動中
0= 非鳴動中
bit 5〜0: ビープ用カウンタ
0〜63の範囲で0.1s毎に1づつインクリメントされる。また、次の
表のタイミングで鳴動・停止を繰り返す。
表 |-鳴--|-停--|-鳴--|-停--------|
| 動 | 止 | 動 | 止 |
→0→1→2→3→4→5→6→…→63→↓
↑←―――――――――――――――
解説 o バッテリ警告ビープ音の鳴動を管理する。
関連
メモリ 0000:05A1〜05A3h
型 3 BYTES
名前
分類
Undocumented
対象 PC-9801NV
内容 LOW BATTERY警告音鳴動時の音程情報待機領域
-----------+-------------------------------------------------
アドレス |内容
-----------+-------------------------------------------------
05A1h(BYTE)|μPD71054(プログラマブル・タイマ・カウンタ)の
| カウンタ#1のステータスデータ
| bit 7: OUTPUT
| bit 6: Null Count
| bit 5: RWM1
| bit 4: RWM0
| bit 3: CM2
| bit 2: CM1
| bit 1: CM0
| bit 0: BCD
05A2h(WORD)|μPD71054のカウンタ#1の分周値
-----------+-------------------------------------------------
解説 o PC-9801NVでは、LOW BATTERY時の警告音を出すときに、通常のビープを
鳴らすためのハードウェアを使用する。このため、警告音を鳴らすとき
には、現在のタイマのカウンタ#1の状態を保存・復帰する必要がある。
o PC-9801NV以外の98NOTEは、LOW BATTERY時の警告音を鳴らすための
専用のハードウェアを持っているため、このような処理は必要ない。
関連 I/O 0071h
メモリ 0000:05A4h
型 8bit FLAGS
名前
分類
Undocumented
対象 PC-9801FA・FS・FX・US・BA・BX・BA2・BS2・BX2・BA3・BX3・BX4, PC-H98model105,
PC-9821(98NOTEを除く), PC-9821A-E02(ハイレゾモード)
内容 FDDのスピンドルモータの状態
bit 7: 640KB FDD UNIT#3 *1
bit 6: 640KB FDD UNIT#2 *1
bit 5: 640KB FDD UNIT#1 *1
bit 4: 640KB FDD UNIT#0 *1
bit 3: 1MB FDD UNIT#3 *2
bit 2: 1MB FDD UNIT#2 *2
bit 1: 1MB FDD UNIT#1 *2
bit 0: 1MB FDD UNIT#0 *2
1= モータ停止中 または ドライブが接続されていない
0= モータ動作中
*1: 640KBインターフェースモード時に使用
*2: 1MBインターフェースモード時に使用
解説 o FDDのスピンドルモータの状態を示す。内蔵両用FDインターフェースが
1MBインターフェースモードのときは、下位4ビットが使用され、
上位4ビットは常に1111bになる。640KBインターフェースモードのときは、
上位4ビットが使用され、下位4ビットは常に1111bになる。
関連 0000:0485h
0000:05D7h
メモリ 0000:05A5h
型 8bit FLAGS
名前
分類 DISK BIOS
Undocumented
対象 PC-H98-B12, PC-9801-92・100, PC-9821X-B02,
上記相当の本体内蔵型SCSIインターフェース
内容 NEC製SCSI HDD "D5882"識別
------+-----------
ビット|装置
------+-----------
bit 7 | 未使用
bit 6 | SCSI ID #6
bit 5 | SCSI ID #5
bit 4 | SCSI ID #4
bit 3 | SCSI ID #3
bit 2 | SCSI ID #2
bit 1 | SCSI ID #1
bit 0 | SCSI ID #0
------+-----------
1= D5882が接続されている
0= D5882が接続されていない
解説 o SCSIコマンドのInquiryに"D5882"と返すドライブのSCSI IDに対応する
ビットが1になる。
関連 0000:05AFh
メモリ 0000:05A6h
型 8bit FLAGS
名前 CARD_STATUS
分類 PCMCIA
対象 PC-9801NL, PCカードスロット搭載機
内容 PCMCIAメモリカードの状態
bit 7: アクセス状態
1= アクセス中
0= アクセスしていない
bit 6: リード/ライト
1= ライト
0= リード
* bit 7=1のとき有効
bit 5: カード識別
1= カード識別前
0= カード識別後
* bit 3=0(カードなし)のとき、常に1。
* PCカードスロット搭載機にMCDRV.SYSを組み込んだ場合とPC-9801NL
では、bit 3=1(カードあり)のときに、PCMCIAメモリカードに対して
INT 1Fh - Function B4h,B5h(BIOS READ/WRITE)でアクセスすると
このビットが0になる。
* PCカードスロット搭載機にMCDRV.SYSを組み込まない場合、
bit 3=1(カードあり)のときに、PCMCIAメモリカードに対して
INT 1Fh - Function B4h(BIOS READ)でアクセスしても、
このビットは0にならない。1のままである。
bit 4: カード入換え検出
1= 入換えた
0= 入換えない
* カードを挿抜(PC-9801NLではスロットの蓋を開閉)すると
同時に、1にセットされる。
* デバイスドライバ等を作成するとき、カードの入れ換え検出に
利用できる。すなわち、デバイスドライバは、PCMCIAメモリカードに
アクセスしたときこのビットを0にセットするように作成する。
次にアクセスしたとき、このビットが0のままならカードは
入れ換えられていないことがわかる。1になっていたら、
カードが入れ換えられたことがわかる。
bit 3: カード有無
1= あり
0= なし
* カードを挿抜(PC-9801NLではスロットの蓋を開閉)すると
同時に、1または0にセットされる。
bit 2: ライトプロテクト
1= あり
0= なし,カードなし
* bit 3=1(カードあり)のとき有効。
* bit 0=1(EMSカード)では常に1。
* ROMカードは常に1。
bit 1: RAM/ROMカード識別
1= RAM/ROMカード
0= その他
* bit 5=0(カード識別後)のとき有効
* ただし、PCカードスロット搭載機にMCDRV.SYSを組み込まない場合は
bit 5=0にならない。しかし、INT 1Fh - Function B4h(BIOS READ)
実行後、このビットはカードの種類に従った値に変化する。
bit 0: EMSカード識別
1= EMSカード
0= その他
* bit 5=0(カード識別後)のとき有効
解説 o PCMCIAメモリカードの状態を示す。
o 各ビットの動作は、以下に挙げる3種類の環境で動作が多少異なる。
- PC-9801NL
- PCカードスロット搭載機(MCDRV.SYSを組み込まないとき)
- PCカードスロット搭載機(MCDRV.SYSを組み込んだとき)
環境による差異は、「内容」の項で示したとおり。
o PC-98HAでは、0000:059Ehに同等の情報が格納される。
関連 0000:059Eh
メモリ 0000:05A7h
型 BYTE
名前
分類
対象 ノーマル,ハイレゾ
内容 未使用
解説
関連
メモリ 0000:05A8h
型 16bit FLAGS
名前 CARD_EQUIP
分類 PCMCIA
対象 PC-9801NL, PCカードスロット搭載機
内容 PCMCIAメモリカードBIOSのサポートの有無
bit 15〜1: 未使用
bit 0: PCMCIAメモリカードドライブの有無
1= あり
0= なし
解説 o PC-9801NLでは常に1。PC-98HAでは相当する情報は格納されない。
o PCカードスロット搭載機では、MCDRV.SYSが組み込まれると1になる。この
とき、INT 1Fh - Function B5〜B8hが使用可能になる。
このビットが0でも、PCカードスロットを搭載している機種ならば、
BIOSがサポートしているINT 1Fh - Function B4hは常に使用可能。
関連 INT 1Fh - Function B4h
INT 1Fh - Function B5h
INT 1Fh - Function B6h
INT 1Fh - Function B7h
INT 1Fh - Function B8h
メモリ 0000:05A9〜05ACh
型 4 BYTES
名前
分類 DISK BIOS
Undocumented
対象 PC-9801NA・NS/R・NX/C・P・NL/R・NS/A, PC-9821Ne...
内容
-----+----------+----------
オフセット|Read時 |Write時
-----+----------+----------
05A9h|F3h(REPZ) |F3h(REPZ)
05AAh|6Dh(INSW) |26h(ES:)
05ABh|CBh(RETF) |6Fh(OUTSW)
05ACh| |CBh(RETF)
-----+----------+----------
解説 o IDE HDDとの入出力のとき、I/Oストリング命令を高速に実行するため、
ここに命令コードを書き込み、BIOSからFAR CALLして実行する。
関連
メモリ 0000:05ADh
型 8bit FLAGS
名前
分類
Undocumented
対象 EMM386.EXE
内容 VDSのインストール状況
bit 7,6: 未使用(?)
bit 5: VDSのインストール状況
1= VDS使用可能
0= VDS使用不可能
bit 4〜0: 未使用(?)
解説 o EMM386が提供するVDS(Virtual DMA Specification:INT 4Bh)が使用可能か
どうかを示す。PC-H98-B12(SCSIインタフェースボード),PC-9821X-B02
(SCSI-2インタフェースボード)は、VDSのインストール状況をチェック
している。
関連
メモリ 0000:05AEh
型 8bit FLAGS
名前
分類 DISK BIOS
Undocumented
対象 1.44MB FD I/Fサポート機
内容
■デスクトップ
bit 7: 未使用
bit 6〜4: 不明
* FDDをアクセスすると変化する。
bit 3〜0: 1.44MBサポートドライブ
1= 1.44MBアクセス可能
0= 1.44MBアクセス不可能
------+---------------------
ビット|装置
------+---------------------
bit 3 |ユニット#3(DA/UA=33h)
bit 2 |ユニット#2(DA/UA=32h)
bit 1 |ユニット#1(DA/UA=31h)
bit 0 |ユニット#0(DA/UA=30h)
------+---------------------
■98NOTE
bit 7 : 不明
* このビットを1にセットする機種は、PC-9801NS/R・NX/C・P・NL/R。
PC-9801NS/A,PC-9821Ne・Npは、BIOSでセットも参照もしない。
bit 6〜4: 未使用
bit 3〜0: 1.44MBサポートドライブ
* デスクトップと同様
解説 u bit 3〜0の状態がINT 1Bh - Function C4hの出力結果(AH bit 3,2)を決定
する。値が1のドライブでは、AH bit 3,2=11b(1.44MB,両用)が返る。値が
0のドライブでは、INT 1Bh - Function 84hと同様の処理が行われる模様。
ただし、1.44MBアクセス可能かどうかを判断するときは、可能な限りBIOSを
利用するほうが良い。
関連 0000:055Ch
INT 1Bh - Function C4h
I/O 04BEh
メモリ 0000:05AFh
型 8bit FLAGS
名前
分類 DISK BIOS
Undocumented
対象 PC-H98-B12, PC-9801-92・100, PC-9821X-B02,
上記相当の本体内蔵型SCSIインターフェース
内容 SCSIのRead Capacityコマンドで容量を取得したドライブ識別
------+-----------
ビット|装置
------+-----------
bit 7 | 未使用 *1
bit 6 | SCSI ID #6
bit 5 | SCSI ID #5
bit 4 | SCSI ID #4
bit 3 | SCSI ID #3
bit 2 | SCSI ID #2
bit 1 | SCSI ID #1
bit 0 | SCSI ID #0
------+-----------
1= SCSIのRead Capacityコマンドで容量を取得したドライブ
0= PC-9801-55初代・L・U互換方式で容量を取得したドライブ
*1: PC-H98-B12では、なんらかのフラグとして使用している。詳細不明。
解説 o PC-H98-B12以降のSCSIインターフェースボードでは、NEC製以外のHDDの
接続が可能になった。NEC製以外のドライブが接続されて
いたときは、このアドレスの該当するSCSI IDのビットが1になる。
ただし、NEC製かどうかのチェックは、SCSIのInquiryコマンドで取得する
ベンダIDを調べているわけではない。
u NEC製以外のHDDが接続されていたときは、SCSIのRead Capacityコマンドで
ドライブの総容量を取得し、ヘッド数=08h、セクタ数=20hと見なして
シリンダ数を算出する。0000:0460hの「SCSI装置のパラメータテーブル」
にはその値が書き込まれる。
関連 0000:0460h
0000:0482h
0000:05A5h
文献 こうのたけし著「旧タイプNEC純正SCSIにジャンクハードディスクを
接続する試み」『TheBASIC』'94年8月号(技術評論社)
メモリ 0000:05B0h
型 8bit FLAGS
名前 IDE HDD容量タイプ
分類 IDE HD
Undocumented
対象 IDE搭載機
内容 IDEドライブ容量(2)
--------+---------------------------
ビット |内容
--------+---------------------------
bit 7 |0(未使用)
bit 6 |0(未使用)
bit 5〜3|1台目IDE HD 容量値
bit 2〜0|2台目IDE HD 容量値
--------+---------------------------
------+------------
容量値|ドライブ容量
------+------------
000b|0000:0457hで容量を示す
001b|240MB
010b|500MB
011b|170MB
100b|340MB
111b|ドライブなし
------+------------
解説 o IDE HDの容量を示す。
u 機種により、ドライブ容量を示す値のサポート範囲が異なる。
u IDE BIOS搭載機種でも、このワークを使用しない機種がある。
関連 0000:0457h
メモリ 0000:05B1〜05B2h
型 WORD
名前
分類 DISK BIOS
Undocumented
対象 PC-9821Bp・Bs・Be・Bf・Ts・Cs2・Ce2・Xa・Xn・Xp・Xs・Xe,
PC-9801BA2・BS2・BX2・BA3・BX3・BX4
内容 2台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms)
解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って
モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると
HDDのスピンドルモータが停止する。
o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。
o INT 17hハンドラがデクリメントする。
関連 0000:04FEh
0000:0598h
0000:059Ah
0000:058Ch
0000:058Eh
INT 17h(外部割り込み…IDE)
INT 1Bh - Function D0h(IDE)
INT 1Bh - Function E0h(IDE)
INT 1Bh - Function F0h(IDE)
メモリ 0000:05B3h
型 8bit FLAGS
名前
分類 PRINTER BIOS
Undocumented
対象 IEEE STD 1284搭載機
内容
bit 7: IEEE STD 1284(双方向プリンタインターフェース)サポート
1= サポート
0= 非サポート
* PC-9821Ap2・As2・Anに98ハイレゾボード(PC-9821A-E02)を実装した
場合、98ハイレゾボード側のプリンタインターフェースのみが有効に
なるため、ノーマルモード・ハイレゾモードのいずれの場合も、
このビットは0(非サポート)になる。
bit 6,5: IEEE STD 1284モード
01b= 入出力モード
00b= 互換モード
* bit 6は常に0
* 入出力可能モードのとき、0000:0458 bit 2は常に1。
bit 4〜1: 未使用
bit 0: 不明
解説 o IEEE STD 1284準拠プリンタインターフェースの状態を示す。
関連 0000:0458h bit 2,1
INT 1Ah - Function 17h
INT 1Ah - Function 19h
INT 1Ah - Function 1Ah
INT 1Ah - Function 1Bh
メモリ 0000:05B4〜05B5h
型 2 BYTES
名前
分類 ディスプレイサスペンドBIOS
Undocumented
対象 DPMS対応機
内容 サスペンドモード移行前のCRT状態
0000:05B4h :サスペンドモード移行前のI/O 006Chの内容
0000:05B5h :サスペンドモード移行前の画面表示状態
01h= 画面表示中(OUT 68h,0Fh状態)
00h= 画面表示停止中(OUT 68h,0Eh状態)
解説 o INT 1Fh - Function 93hでサスペンドモードに設定したときの、
サスペンドモード移行前のCRT状態を格納する。
関連 INT 1Fh - Function 93h
I/O 0068h - 0Eh,0Fh
I/O 006Ch
メモリ 0000:05B6h
型 BYTE
名前
分類
対象
内容 未使用
解説
関連
メモリ 0000:05B7h
型 BYTE
名前 READ_DATAポートアドレス
分類 Plug and Play
Undocumented
対象 Plug and Play対応機
内容 PCIのREAD_DATAポートのアドレス
解説 o CバスPlug and Playで使用するREAD_DATAポートのアドレスを示す。
o このワークの値を2ビット左にシフトし、下位2ビットを11bとしたもの
がREAD_DATAポートとなる。
図 --------------------------------+----------------------------
このワークエリアの値 | xxxx xxxxb
| / /
READ_DATAポートのアドレス |0000 00xx xxxx xx11b
--------------------------------+----------------------------
関連 I/O 0003〜03FFh
I/O 0259h,0A59h - 00h
メモリ 0000:05B8h
型 BYTE
名前 CバスPnPボード数
分類 Plug and Play
Undocumented
対象 Plug and Play対応機
内容 CバスPnPボードの枚数
解説 o CバスPlug and Playに対応したボードが何枚実装されているか示す。CSN
(Card Select Number)として設定できる値の最大値を調べるときに参照する。
o このワークの値が00hのとき、CバスPlug and Play対応ボードは使用されて
いないことを示す。
関連 I/O 0259h,0A59h - 03h
メモリ 0000:05B9〜5BFh
型 7 BYTES
名前
分類
対象
内容 未使用
解説
関連
メモリ 0000:05C0h
型 8bit FLAGS
名前 BASIC_DIPSW
分類 N88 BASIC
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 DIP SW 2の設定状態のコピー
bit 7: DIP SW 2-8
bit 6: DIP SW 2-7
bit 5: DIP SW 2-6
bit 4: DIP SW 2-5
bit 3: DIP SW 2-4
bit 2: DIP SW 2-3
bit 1: DIP SW 2-2
bit 0: DIP SW 2-1
1= OFF
0= ON
解説 o BASICインタプリタ(ROM版,DISK版,MS-DOS版)が起動したとき、
システムポート(I/O 0031h)からDIP SW 2の状態を読み出して
このアドレスに書き込む。システム起動時は00h。
関連 I/O 0031h
メモリ 0000:05C1h
型 8bit FLAGS
名前 RS_D_FLAG
分類 RS-232C
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 RS-232C DEL(7Fh,FFh)コード受信時の処理
bit 7〜3: 未使用
bit 2: CH 2
bit 1: CH 1
bit 0: CH 0
1= メモリスイッチ3 - bit 7の設定に従う
0= DEL(7Fh,FFh)コードをそのままバッファに格納
解説 o N88BASIC(ROM版,DISK版,MS-DOS版)とターミナルモードが使用する。RS-232Cで
DEL(7Fh,FFh)コードを受信したときの処理を決める。RS-232Cの外部割り込み
ハンドラが参照する。
o ハイレゾモードのRS-232C BIOSでは、拡張モードのとき、受信した
DEL(7Fh/FFh)コードの処理を指定することができるが、その設定状態は
このフラグに反映されず、バッファコントロールブロック内に記憶される。
RS-232C BIOS(INT 19h)はこのフラグをセットしない。このフラグを
セットするのは、N88BASICとターミナルモードだけである。
ただし、ROM内のRS-232C外部割り込みハンドラは、常にこの
フラグを参照して処理を行う。
関連 0000:0556h
0000:055Bh
0000:05F0h
0000:05F4h
INT 0Ch(外部割り込み…RS-232C)
メモリ 0000:05C2〜05C5h
型 DWORD
名前 GPIB_WORK
分類 GP-IB
対象 PC-9801-06・19・29初代・29K・29N
内容 GP-IBの制御情報通知領域へのポインタ
解説 o GP-IB BIOSで使用する、制御情報通知領域のアドレスを格納する。
関連 INT D1h
I/O 0099h
メモリ 0000:05C6〜05C9h
型 DWORD
名前 KB_CODE
分類 KEYBOARD BIOS
対象 ノーマル(PC-9801初代を除く), PC-98LT・HA, DB-P1
内容 キーデータ変換テーブルの先頭アドレス
解説 o キー番号とシフト状態からキーデータを生成するときに使用する
変換テーブルの先頭アドレス。
u このアドレスの内容は、ROM内の変換テーブルの先頭を示しているだけで、
この内容を書き換えてもキーボードBIOS(キーボード割り込みハンドラ)が
参照する変換テーブルを変更できるわけではない。
ただし、キーボード割り込みハンドラは、このアドレスに書き込まれている
セグメント値を参照しているので、これを変更するとキーボードBIOSが正常
動作しなくなる。オフセット値を変更したときには、キーボードBIOSの動作
には影響を与えない。
関連 0000:0414h
0000:0522h
メモリ 0000:05C6〜05C9h
型 DWORD
名前
分類
Undocumented
対象 PC-H98(ハイレゾ)
内容 不明。
解説 o PC-H98のハイレゾモードでは、FD80:0A94hがセットされている。ハイレゾ
モードではFD80hをセグメントとして使用しないこと、およびFD80:0A94hから
始まるテーブルのようなものがないことから、特に意味のある値ではないと
考えられる。
関連
メモリ 0000:05CAh
型 8bit FLAGS
名前 F2DD_MODE
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード時
内容 640KB FDDのアクセスモード
[INT 1Bh - Function 8Eh(FD)の設定値]
bit 7: 640KB FDD UNIT#3
bit 6: 640KB FDD UNIT#2
bit 5: 640KB FDD UNIT#1
bit 4: 640KB FDD UNIT#0
1= 80シリンダ(2DD,1DD)
0= 40シリンダ(2D,1D)
[INT 1Bh - Function 0Eh(FD)の設定値]
bit 3: 640KB FDD UNIT#3
bit 2: 640KB FDD UNIT#2
bit 1: 640KB FDD UNIT#1
bit 0: 640KB FDD UNIT#0
1= 両面
0= 片面
初期値 = FFh(2DD/両面)
解説 o 640KB専用BIOS,両用BIOS - 640KB I/Fモード時の、
INT 1Bh - Function 0Eh,8Ehの設定値を格納する。
関連 0000:0493h
INT 1Bh - Function 03h(FD)
INT 1Bh - Function 04h(FD)
INT 1Bh - Function 84h(FD)
INT 1Bh - Function 0Eh(FD)
INT 1Bh - Function 8Eh(FD)
メモリ 0000:05CBh
型 BYTE
名前 F2DD_COUNT
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード,
両用BIOS - 1MB I/Fモード(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く)
内容 FDDのスピンドルモータ停止時間の初期値(単位:100ms)
初期値 = 96h(15秒:デスクトップ,PC-9801N・NS)
14h(2秒:PC-9801N・NS以外の98NOTE)
解説 o ディスクI/O終了時、この値がモータ停止カウンタにコピーされる。モータ
停止カウンタのアドレスは、両用BIOS - 1MB I/Fモード時=0000:0485h、
640KB専用BIOSと両用BIOS - 640KB I/Fモード時=0000:05D7h。
o 両用BIOS - 1MB I/Fモードでは、モータ停止制御機能を持った機種
(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く両用FD I/F搭載機)
でのみ有効。両用BIOS - 640KB I/Fモードでは、両用FD I/Fを搭載した全ての
機種で有効。
o 機種によって、起動時のモータ停止モードのON/OFF状態が異なる。起動時は
モータ停止モードOFFの機種、メニューで選択できる機種、起動時からONの
機種がある。
o INT 1Bh - Function 03h(FD)(FDインターフェースの初期化)を実行すると
初期値に設定される。
両用BIOS搭載機では、モータ停止モードに設定されているか否かに
かかわらず、このアドレスの値は初期値に設定される。この値から
モータ停止モードの状態を判断することはできない。
関連 0000:0485h
0000:05D7h
INT 1Bh - Function 03h(FD)
INT 1Bh - Function 83h(FD)
I/O 00BEh
メモリ 0000:05CC〜05CFh
型 DWORD
名前 F2DD_POINTER
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KBアクセスモード
内容 640KB FDDパラメータテーブルポインタのアドレス
[640KB FDDパラメータテーブルポインタのアドレス]
----------+-----------------------------------------------------
アドレス |内容
----------+-----------------------------------------------------
0000:05CCh|640KB FDパラメータテーブルポインタのオフセット(nnnnh)
0000:05CEh|640KB FDパラメータテーブルポインタのセグメント(ssssh)
----------+-----------------------------------------------------
o セグメントの既定値はFD80h、オフセットの既定値は機種により異なる。
[640KB FDパラメータテーブルポインタ]
------------+-------------------------------------------------------
アドレス |内容
------------+-------------------------------------------------------
ssss:nnnnh+0|640KB FDD UNIT#0のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+2|640KB FDD UNIT#1のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+4|640KB FDD UNIT#2のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+6|640KB FDD UNIT#3のパラメータテーブルのオフセット(mmmmh)
------------+-------------------------------------------------------
[640KB FDD UNIT#0〜#3のパラメータテーブル]
+--------------+---------------+---------------+------------------+
| | MFM | FM | |
| +-------+-------+-------+-------+ |
| アドレス | R/W | Format| R/W | Format| 備考 |
| +---+---+---+---+---+---+---+---+ |
| |EOT|GPL| SC|GPL|EOT|GPL| SC|GPL| |
+--------------+---+---+---+---+---+---+---+---+------------------+
|ssss:mmmmh+00h|00h|00h|00h|00h|10h|07h|10h|1Bh|1セクタ=128バイト |
|ssss:mmmmh+08h|10h|0Eh|10h|36h|09h|0Eh|09h|2Ah|1セクタ=256バイト |
|ssss:mmmmh+10h|09h|2Ah|09h|50h|05h|1Bh|05h|3Ah|1セクタ=512バイト |
|ssss:mmmmh+18h|05h|35h|05h|74h|00h|00h|00h|00h|1セクタ=1024バイト|
+--------------+---+---+---+---+---+---+---+---+------------------+
o MFMの128バイト/セクタ,FMの1024バイト/セクタは使用不可のため
パラメータは設定されていない。
o パラメータテーブルのセグメントは、ポインタテーブルのセグメントと
同じ。
解説 o 640KBフォーマットのフロッピーディスクに対して、フォーマットと
書き込みを行うときに使用するパラメータテーブルポインタのアドレスを
示す。ポインタは各ユニット毎に用意されているが、実際には全て同一の
テーブルを指している。
u 1.44MB対応機では、ポインタテーブルのセグメントを既定値(ノーマル=FD80h,
ハイレゾ=F800h)と異なる値に変更すると、1.44MBディスクのアクセス時に
問題が起こる。すなわち、DA/UA=3xhで1.44MBディスクをアクセスしたとき、
1.44MB FDDのパラメータテーブルのセグメントとして、0000:05CEhの値が
使われる。1.44MB FDDのパラメータテーブルのオフセットは固定されて
いるため、正しいパラメータテーブルが使用できなくなる。ただし、
通常0000:05CEhの値を変更する必要はないので、この動作が問題となる
ことはまずない。
関連 0000:05F8h
メモリ 0000:05D0〜05D6h
型 7 BYTES
名前 F2DD_RESULT
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード
内容 640KB FD I/FのFDCリザルトステータス(READ/WRITE系コマンド)
----------+---------------------------------------------
アドレス |内容
----------+---------------------------------------------
05D0h |ST0(リザルトステータス)
|bit 7: IC1(Interrupt Code 1)
|bit 6: IC0(Interrupt Code 0)
|bit 5: SE(Seek End)
|bit 4: EC(Equipment check)
|bit 3: NR(Not Ready)
|bit 2: HD(Head Address)
|bit 1: US1(Unit Select 1)
|bit 0: US0(Unit Select 0)
----------+---------------------------------------------
05D1h |ST1(リザルトステータス)
|bit 7: EN(End of Cylinder)
|bit 6: 0
|bit 5: DE(Data Error)
|bit 4: OR(Overrun)
|bit 3: 0
|bit 2: ND(No Data)
|bit 1: NW(Not Writable)
|bit 0: MA(Missing Address Mark)
----------+---------------------------------------------
05D2h |ST2(リザルトステータス)
|bit 7: 0
|bit 6: CM(Control Mark)
|bit 5: DD(Data Error in Data Field)
|bit 4: NC(No Cylinder)
|bit 3: SH(Scan Equal Hit)
|bit 2: SN(Scan Not Satisfied)
|bit 1: BC(Bad Cylinder)
|bit 0: MD(Missing Address Mark in Data Field)
----------+---------------------------------------------
05D3h |C(シリンダ番号)
05D4h |H(ヘッド番号)
05D5h |R(レコード番号)
05D6h |N(データ長)
----------+---------------------------------------------
解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス
情報。READ/WRITE系コマンドの結果が格納される。
o 両用FD I/Fでは、640KB I/Fモードであれば1MBアクセスモードでも
このワークエリアを使用する。
関連 0000:0564h
0000:05D8h
I/O 00C8h
メモリ 0000:05D7h
型 BYTE
名前 F2DD_RESULT
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード
内容 モータ停止カウンタ(単位:100ms)
解説 o モータ停止までの時間を計測するためのカウンタ。
u ディスクI/Oの終了時に、0000:05CBhの値(モータ停止時間の初期値)が
コピーされる。100ms毎にFDCが発生する割り込みによって1づつ
デクリメントされ、0になるとモータが停止する。
関連 0000:0485h
0000:05A4h
0000:05CBh
I/O 00C8h
メモリ 0000:05D8〜05DFh
型 8 BYTES
名前 F2DD_RESULT
分類 DISK BIOS
対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード
内容 640KB FD I/FのFDCリザルトステータス(SEEK/RECALIBRATEコマンド)
05D8h: UNIT#0 ST0(リザルトステータス)
05D9h: UNIT#0 PCN(プレゼントシリンダナンバ)
05DAh: UNIT#1 ST0(リザルトステータス)
05DBh: UNIT#1 PCN(プレゼントシリンダナンバ)
05DCh: UNIT#2 ST0(リザルトステータス)
05DDh: UNIT#2 PCN(プレゼントシリンダナンバ)
05DEh: UNIT#3 ST0(リザルトステータス)
05DFh: UNIT#3 PCN(プレゼントシリンダナンバ)
解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス
情報。SEEK/RECALIBRATEコマンドの結果が格納される。ST0(リザルト
ステータス)の内容は、0000:05D0hと同じ。
o 両用FD I/Fでは、640KB I/Fモードであれば1MBアクセスモードでも
このワークエリアを使用する。
関連 0000:0564h
0000:05D0h
I/O 00C8h
メモリ 0000:05E0〜05E3h
型 DWORD
名前 MUSIC_WORK
分類 SOUND
対象 PC-9801-14, PC-9801-26初代・K, PC-9801-73・86
(上記ボード相当の内蔵型含む)搭載ROM BIOS
内容 ミュージックBIOS/サウンドBIOS用ワークエリアの開始アドレス
解説 o ミュージックBIOS(PC-9801-14 ミュージックジェネレータボード搭載
ROM BIOS)、サウンドBIOS(PC-9801-26初代・K, PC-9801-73・86 サウンド
ボード搭載ROM BIOS)のワークエリアの開始アドレスを格納する。
u PC-98XAが搭載するBIOS ROM内のミュージックBIOSでは、0000:05E0h(WORD)に
ワークエリアのセグメントが格納される。そのほかのハイレゾ機では、
ミュージックBIOSはサポートしていない(サウンドBIOSはどのハイレゾ機も
サポートしていない)。
関連 INT D2h
I/O 008Eh
I/O 0188h
メモリ 0000:05E4h
型 BYTE
名前
分類
対象
内容 未使用
解説
関連
メモリ 0000:05E5h
型 BYTE
名前
分類 BRANCH4670
Undocumented
対象 PC-9864初代・U, PC-98XA・XL・XL^2・RLハイレゾモードのBRANCH BIOS
内容 不明
初期値=40h
解説 o 詳細不明
関連 0000:0400h bit 0
0000:041E〜0443h
0000:0480h bit 5
0000:049A〜04ABh
メモリ 0000:05E6h
型 BYTE
名前
分類 BRANCH4670
Undocumented
対象 PC-9864初代・U, PC-98XA・XL・XL^2・RLハイレゾモードのBRANCH BIOS
内容 ホストのステーション番号(00〜3Fh)
初期値=00h
解説 o PC-9864-02(PC-9864初代専用ROM BIOS)では、メモリスイッチ7のbit 6を
テストし、1ならその値に3FhをANDして0000:05E6hに書き込む。
関連 0000:0400h bit 0
0000:041E〜0443h
0000:0480h bit 5
0000:049A〜04ABh
A000:3FFAh
E000:3FFAh
メモリ 0000:05E7h
型 BYTE
名前
分類 BRANCH4670
Undocumented
対象 PC-9864U + ノーマル
内容 自局のステーション番号
解説 o 詳細不明。INT 1Ahのリモートプリンタに関係して使用。
関連 0000:0400h bit 0
0000:041E〜0443h
0000:0480h bit 5
0000:049A〜04ABh
メモリ 0000:05E8〜05EBh
型 DWORD
名前 DISK_PRM0
分類 DISK BIOS
Undocumented
対象 SASI, IDE搭載機(ノーマル,ハイレゾとも)
内容 SASI・IDE HD #0のパラメータテーブルの先頭アドレス
解説 o ドライブ制御用パラメータテーブルの先頭アドレスを格納する。
モード設定ファンクション(INT 1Bh - Function 0Eh(SASI/ESDI/IDE))を
実行すると、このパラメータテーブルのアドレスが変化する場合がある。
o SASI HDとIDE HDでは、パラメータテーブルの内容には互換性がない。
表 SASI HDのパラメータテーブルの内容
-----------+-----------------------------------------------------------
オフセット(サイズ)|内容
-----------+-----------------------------------------------------------
+00h(BYTE) |ステップパルス幅
+01h(BYTE) |ステップ間隔
+02h(BYTE) |ステップモード
+03h(BYTE) |最大ヘッドアドレス
+04h(WORD) |最大シリンダアドレス(High Byte, Low Byte順)
+06h(BYTE) |書き込み電流減少アドレス
+07h(BYTE) |オーバーラップシークフラグ(bit6)
+0Ah(BYTE) |ステップパルス幅
+0Bh(BYTE) |ステップ間隔
+0Ch(BYTE) |ステップモード
+0Dh(BYTE) |最大ヘッドアドレス
+0Eh(WORD) |最大シリンダアドレス2(High Byte, Low Byte順)
+10h(BYTE) |書き込み電流減少アドレス
+11h(BYTE) |オーバーラップシークフラグ(bit6)
+14H(BYTE) |SENSE(INT 1Bh - Function 04h(SASI/ESDI/IDE))でAHに返る値
+18H(WORD) |ヘッド数(INT 1Bhの物理アドレス→論理アドレス変換に使用する)
+1CH(BYTE) |新SENSE(INT 1Bh - Function 84h(SASI/ESDI/IDE))でAHに返る値
-----------+-----------------------------------------------------------
表 IDE HDのパラメータテーブルの内容
-----------+-----------------------------------------------------------
オフセット(サイズ)|内容
-----------+-----------------------------------------------------------
+00h(WORD) |シリンダ数(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力CX)
+02h(BYTE) |ヘッド数(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力DH)
+03h(BYTE) |ドライブが返すヘッド数(論理アドレス変換に使用する)
+04h(BYTE) |容量値(INT 1Bh - Function 04h(SASI/ESDI/IDE)の出力AH)
+05h(BYTE) |容量値(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力AH)
-----------+-----------------------------------------------------------
関連 0000:0481h bit 0
0000:05ECh
INT 1Bh - Function 04h(SASI/ESDI/IDE)
INT 1Bh - Function 84h(SASI/ESDI/IDE)
INT 1Bh - Function 0Eh(SASI/ESDI/IDE)
メモリ 0000:05EC〜05EFh
型 DWORD
名前 DISK_PRM1
分類 DISK BIOS
Undocumented
対象 SASI, IDE搭載機(ノーマル,ハイレゾとも)
内容 SASI・IDE HD #1のパラメータテーブルの先頭アドレス
解説 o 0000:05E8hと同じ。
関連 0000:0481h bit 1
0000:05E8h
INT 1Bh - Function 04h(SASI/ESDI/IDE)
INT 1Bh - Function 84h(SASI/ESDI/IDE)
INT 1Bh - Function 0Eh(SASI/ESDI/IDE)
メモリ 0000:05F0〜05F3h
型 DWORD
名前 RS_CH1_OFST/SEG
分類 RS-232C BIOS
対象 ハイレゾ,RSDRV.SYS
内容 RS-232C CH1受信バッファポインタ
解説 o RS-232C CH1の受信バッファのアドレスを格納する。ハイレゾモードの
RS-232C BIOS(INT 19h)とRSDRV.SYSが使用する。
関連 0000:0556h
0000:055Bh
0000:05C1h
0000:05F4h
INT 19h - Function 00h(BIOS)
メモリ 0000:05F4〜05F7h
型 DWORD
名前 RS_CH2_OFST/SEG
分類 RS-232C BIOS
対象 ハイレゾ,RSDRV.SYS
内容 RS-232C CH2受信バッファポインタ
解説 o RS-232C CH2の受信バッファのアドレスを格納する。ハイレゾモードの
RS-232C BIOS(INT 19h)とRSDRV.SYSが使用する。
関連 0000:0556h
0000:055Bh
0000:05C1h
0000:05F0h
INT 19h - Function 00h(BIOS)
メモリ 0000:05F8〜05FBh
型 DWORD
名前 F2HD_POINTER
分類 DISK BIOS
対象 1MB専用BIOS,両用BIOS - 1MBアクセスモード
内容 1MB FDDパラメータテーブルポインタのアドレス
[1MB FDDパラメータテーブルポインタのアドレス]
----------+-----------------------------------------------------
アドレス |内容
----------+-----------------------------------------------------
0000:05F8h|1MB FDパラメータテーブルポインタのオフセット(nnnnh)
0000:05FBh|1MB FDパラメータテーブルポインタのセグメント(ssssh)
----------+-----------------------------------------------------
o セグメントの既定値はFD80h、オフセットの既定値は機種により異なる。
[1MB FDパラメータテーブルポインタ]
------------+-------------------------------------------------------
アドレス |内容
------------+-------------------------------------------------------
ssss:nnnnh+0|1MB FDD UNIT#0のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+2|1MB FDD UNIT#1のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+4|1MB FDD UNIT#2のパラメータテーブルのオフセット(mmmmh)
ssss:nnnnh+6|1MB FDD UNIT#3のパラメータテーブルのオフセット(mmmmh)
------------+-------------------------------------------------------
[1MB FDD UNIT#0〜#3のパラメータテーブル]
--------------+---------------+---------------+------------------
| MFM | FM |
+-------+-------+-------+-------+
アドレス | R/W | Format| R/W | Format| 備考
+---+---+---+---+---+---+---+---+
|EOT|GPL| SC|GPL|EOT|GPL| SC|GPL|
--------------+---+---+---+---+---+---+---+---+------------------
ssss:mmmmh+00h|00h|00h|00h|00h|1Ah|07h|1Ah|1Bh|1セクタ=128バイト
ssss:mmmmh+08h|1Ah|0Eh|1Ah|36h|0Fh|0Eh|0Fh|2Ah|1セクタ=256バイト
ssss:mmmmh+10h|0Fh|1Bh|0Fh|54h|08h|1Bh|08h|3Ah|1セクタ=512バイト
ssss:mmmmh+18h|08h|35h|08h|74h|00h|00h|00h|00h|1セクタ=1024バイト
--------------+---+---+---+---+---+---+---+---+------------------
o MFMの128バイト/セクタ,FMの1024バイト/セクタは使用不可のため
パラメータは設定されていない。
o パラメータテーブルのセグメントは、ポインタテーブルのセグメントと
同じ。
解説 o 1MBフォーマットのフロッピーディスクに対して、フォーマットと
書き込みを行うときに使用するパラメータテーブルポインタのアドレスを
示す。ポインタは各ユニット毎に用意されているが、実際には全て同一の
テーブルを指している。
u 1.44MB対応機では、ポインタテーブルのセグメントを既定値(ノーマル=FD80h,
ハイレゾ=F800h)と異なる値に変更すると、1.44MBディスクのアクセス時に
問題が起こる。すなわち、DA/UA=Bxhで1.44MBディスクをアクセスしたとき、
1.44MB FDDのパラメータテーブルのセグメントとして、0000:05FAhの値が
使われる。1.44MB FDDのパラメータテーブルのオフセットは固定されて
いるため、正しいパラメータテーブルが使用できなくなる。ただし、
通常0000:05FAhの値を変更する必要はないので、この動作が問題となる
ことはまずない。
関連 0000:05CCh
メモリ 0000:05FC〜05FDh
型 WORD
名前 MOUSEW
分類 MOUSE BIOS
対象 ハイレゾ
内容 マウスBIOS作業域のセグメントアドレス
解説 o ハイレゾモードのマウスBIOS(INT 33h)が使用するワークエリアのセグメントを
格納する。
関連 F800:7FD0h
INT 33h - Function 11h
メモリ 0000:05FE〜05FFh
型 WORD
名前 BASIC_WORK
分類 BASIC
対象 ノーマル,ハイレゾ,PC-98LT・HA
内容 BASIC LIOのDATAセグメントアドレス
解説 o N88-BASICの動作時、BASIC LIOのDATAセグメントアドレスを格納する。MS-DOS
版N88-BASICの子プロセスではこの番地が0以外の値を持っており、再度の
N88BASICの起動ができなくなる。
関連